Module Name: src
Committed By: riastradh
Date: Sat Feb 28 03:27:38 UTC 2015
Modified Files:
src/sys/external/bsd/drm2/dist/drm/i915: intel_drv.h
Log Message:
Recheck condition after wait in wait_for like Linux does.
To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 src/sys/external/bsd/drm2/dist/drm/i915/intel_drv.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/external/bsd/drm2/dist/drm/i915/intel_drv.h
diff -u src/sys/external/bsd/drm2/dist/drm/i915/intel_drv.h:1.7 src/sys/external/bsd/drm2/dist/drm/i915/intel_drv.h:1.8
--- src/sys/external/bsd/drm2/dist/drm/i915/intel_drv.h:1.7 Sun Sep 7 23:03:11 2014
+++ src/sys/external/bsd/drm2/dist/drm/i915/intel_drv.h Sat Feb 28 03:27:38 2015
@@ -50,7 +50,9 @@
int ms = (MS); \
while (!(COND)) { \
if (--ms < 0) { \
- ret__ = -ETIMEDOUT; \
+ DELAY(1000); \
+ if (!(COND)) \
+ ret__ = -ETIMEDOUT; \
break; \
} \
DELAY(1000); \
@@ -59,7 +61,8 @@
unsigned long timeout__ = jiffies + msecs_to_jiffies(MS); \
while (!(COND)) { \
if (time_after(jiffies, timeout__)) { \
- ret__ = -ETIMEDOUT; \
+ if (!(COND)) \
+ ret__ = -ETIMEDOUT; \
break; \
} \
if ((W) && drm_can_sleep()) { \