diff options
Diffstat (limited to 'bsd')
-rw-r--r-- | bsd/drm_os_freebsd.h | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/bsd/drm_os_freebsd.h b/bsd/drm_os_freebsd.h index a0ec9e3c..2fa19cee 100644 --- a/bsd/drm_os_freebsd.h +++ b/bsd/drm_os_freebsd.h @@ -142,13 +142,11 @@ do { \ #define DRM_HZ hz #define DRM_WAIT_ON( ret, queue, timeout, condition ) \ -do { \ - if (condition) \ - break; \ - ret = tsleep( &(queue), PZERO | PCATCH, "rdnirq", (timeout) ); \ - if ( (ret == EWOULDBLOCK) || (ret == EINTR) ) \ - return DRM_ERR(EBUSY); \ -} while (1) +while (condition) { \ + ret = tsleep( &(queue), PZERO | PCATCH, "drmwtq", (timeout) ); \ + if ( ret ) \ + return ret; \ +} #define DRM_WAKEUP( queue ) wakeup( queue ) #define DRM_WAKEUP_INT( queue ) wakeup( queue ) |