Fix some of my silliness in DRM_WAIT_ON (not returning EINTR).
parent
899df4f530
commit
33a51d8518
|
@ -142,13 +142,11 @@ do { \
|
||||||
#define DRM_HZ hz
|
#define DRM_HZ hz
|
||||||
|
|
||||||
#define DRM_WAIT_ON( ret, queue, timeout, condition ) \
|
#define DRM_WAIT_ON( ret, queue, timeout, condition ) \
|
||||||
do { \
|
while (condition) { \
|
||||||
if (condition) \
|
ret = tsleep( &(queue), PZERO | PCATCH, "drmwtq", (timeout) ); \
|
||||||
break; \
|
if ( ret ) \
|
||||||
ret = tsleep( &(queue), PZERO | PCATCH, "rdnirq", (timeout) ); \
|
return ret; \
|
||||||
if ( (ret == EWOULDBLOCK) || (ret == EINTR) ) \
|
}
|
||||||
return DRM_ERR(EBUSY); \
|
|
||||||
} while (1)
|
|
||||||
|
|
||||||
#define DRM_WAKEUP( queue ) wakeup( queue )
|
#define DRM_WAKEUP( queue ) wakeup( queue )
|
||||||
#define DRM_WAKEUP_INT( queue ) wakeup( queue )
|
#define DRM_WAKEUP_INT( queue ) wakeup( queue )
|
||||||
|
|
|
@ -142,13 +142,11 @@ do { \
|
||||||
#define DRM_HZ hz
|
#define DRM_HZ hz
|
||||||
|
|
||||||
#define DRM_WAIT_ON( ret, queue, timeout, condition ) \
|
#define DRM_WAIT_ON( ret, queue, timeout, condition ) \
|
||||||
do { \
|
while (condition) { \
|
||||||
if (condition) \
|
ret = tsleep( &(queue), PZERO | PCATCH, "drmwtq", (timeout) ); \
|
||||||
break; \
|
if ( ret ) \
|
||||||
ret = tsleep( &(queue), PZERO | PCATCH, "rdnirq", (timeout) ); \
|
return ret; \
|
||||||
if ( (ret == EWOULDBLOCK) || (ret == EINTR) ) \
|
}
|
||||||
return DRM_ERR(EBUSY); \
|
|
||||||
} while (1)
|
|
||||||
|
|
||||||
#define DRM_WAKEUP( queue ) wakeup( queue )
|
#define DRM_WAKEUP( queue ) wakeup( queue )
|
||||||
#define DRM_WAKEUP_INT( queue ) wakeup( queue )
|
#define DRM_WAKEUP_INT( queue ) wakeup( queue )
|
||||||
|
|
Loading…
Reference in New Issue