Commit 0eb8e885726a3a93206510092bbc7e39e272f6ef
Exists in
master
and in
4 other branches
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
Showing 1 changed file Side-by-side Diff
block/blk.h
... | ... | @@ -61,6 +61,7 @@ |
61 | 61 | rq = list_entry_rq(q->queue_head.next); |
62 | 62 | return rq; |
63 | 63 | } |
64 | + | |
64 | 65 | /* |
65 | 66 | * Flush request is running and flush request isn't queueable |
66 | 67 | * in the drive, we can hold the queue till flush request is |
... | ... | @@ -81,7 +82,8 @@ |
81 | 82 | q->flush_queue_delayed = 1; |
82 | 83 | return NULL; |
83 | 84 | } |
84 | - if (!q->elevator->ops->elevator_dispatch_fn(q, 0)) | |
85 | + if (test_bit(QUEUE_FLAG_DEAD, &q->queue_flags) || | |
86 | + !q->elevator->ops->elevator_dispatch_fn(q, 0)) | |
85 | 87 | return NULL; |
86 | 88 | } |
87 | 89 | } |