patch-2.3.99-pre2 linux/drivers/block/ll_rw_blk.c

Next file: linux/drivers/block/lvm.c
Previous file: linux/drivers/block/floppy.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.3.99-pre1/linux/drivers/block/ll_rw_blk.c linux/drivers/block/ll_rw_blk.c
@@ -319,9 +319,9 @@
 	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);

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)