diff options
Diffstat (limited to 'drivers/block/ll_rw_blk.c')
-rw-r--r-- | drivers/block/ll_rw_blk.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/block/ll_rw_blk.c b/drivers/block/ll_rw_blk.c index 63c5e4b85..431860f44 100644 --- a/drivers/block/ll_rw_blk.c +++ b/drivers/block/ll_rw_blk.c @@ -319,9 +319,9 @@ static struct request * __get_request_wait(int n, kdev_t dev) DECLARE_WAITQUEUE(wait, current); unsigned long flags; - add_wait_queue(&wait_for_request, &wait); + add_wait_queue_exclusive(&wait_for_request, &wait); for (;;) { - current->state = TASK_UNINTERRUPTIBLE; + __set_current_state(TASK_UNINTERRUPTIBLE|TASK_EXCLUSIVE); spin_lock_irqsave(&io_request_lock,flags); req = get_request(n, dev); spin_unlock_irqrestore(&io_request_lock,flags); |