patch-1.3.89 linux/drivers/block/ll_rw_blk.c

Next file: linux/drivers/char/Config.in
Previous file: linux/drivers/block/ide.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v1.3.88/linux/drivers/block/ll_rw_blk.c linux/drivers/block/ll_rw_blk.c
@@ -346,7 +346,9 @@
 	cli();
 	req = blk_dev[major].current_request;
 	if (!req) {
-		plug_device(blk_dev + major);
+		/* MD and loop can't handle plugging without deadlocking */
+		if (major != MD_MAJOR && major != LOOP_MAJOR)
+			plug_device(blk_dev + major);
 	} else switch (major) {
 	     case IDE0_MAJOR:	/* same as HD_MAJOR */
 	     case IDE1_MAJOR:

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov with Sam's (original) version
of this