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()) { \