Merge branch 'for-linus' into for-2.6.40/core

This patch merges in a fix that missed 2.6.39 final.

Conflicts:
	block/blk.h
diff --git a/block/blk.h b/block/blk.h
index 1f798b5..d658628 100644
--- a/block/blk.h
+++ b/block/blk.h
@@ -61,6 +61,7 @@
 			rq = list_entry_rq(q->queue_head.next);
 			return rq;
 		}
+
 		/*
 		 * Flush request is running and flush request isn't queueable
 		 * in the drive, we can hold the queue till flush request is
@@ -81,7 +82,8 @@
 			q->flush_queue_delayed = 1;
 			return NULL;
 		}
-		if (!q->elevator->ops->elevator_dispatch_fn(q, 0))
+		if (test_bit(QUEUE_FLAG_DEAD, &q->queue_flags) ||
+		    !q->elevator->ops->elevator_dispatch_fn(q, 0))
 			return NULL;
 	}
 }