queue_io() was checking the DMF_SUSPENDED flag rather than the new
DMF_BLOCK_IO flag.  This meant suspend could deadlock under load.
--- diff/drivers/md/dm.c	2002-11-29 14:57:32.000000000 +0000
+++ source/drivers/md/dm.c	2002-12-03 11:34:59.000000000 +0000
@@ -292,7 +292,7 @@
 
 	down_write(&md->lock);
 
-	if (!test_bit(DMF_SUSPENDED, &md->flags)) {
+	if (!test_bit(DMF_BLOCK_IO, &md->flags)) {
 		up_write(&md->lock);
 		free_deferred(di);
 		return 1;