Index: sys/external/bsd/drm2/dist/drm/i915/intel_drv.h =================================================================== RCS file: /cvsroot/src/sys/external/bsd/drm2/dist/drm/i915/intel_drv.h,v retrieving revision 1.6 diff -p -u -r1.6 intel_drv.h --- sys/external/bsd/drm2/dist/drm/i915/intel_drv.h 16 Jul 2014 20:56:25 -0000 1.6 +++ sys/external/bsd/drm2/dist/drm/i915/intel_drv.h 25 Jul 2014 14:21:33 -0000 @@ -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()) { \