aboutsummaryrefslogtreecommitdiffstats
path: root/block/blk.h
diff options
context:
space:
mode:
Diffstat (limited to 'block/blk.h')
-rw-r--r--block/blk.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/block/blk.h b/block/blk.h
index 1f798b5a6f19..d6586287adc9 100644
--- a/block/blk.h
+++ b/block/blk.h
@@ -61,6 +61,7 @@ static inline struct request *__elv_next_request(struct request_queue *q)
61 rq = list_entry_rq(q->queue_head.next); 61 rq = list_entry_rq(q->queue_head.next);
62 return rq; 62 return rq;
63 } 63 }
64
64 /* 65 /*
65 * Flush request is running and flush request isn't queueable 66 * Flush request is running and flush request isn't queueable
66 * in the drive, we can hold the queue till flush request is 67 * in the drive, we can hold the queue till flush request is
@@ -81,7 +82,8 @@ static inline struct request *__elv_next_request(struct request_queue *q)
81 q->flush_queue_delayed = 1; 82 q->flush_queue_delayed = 1;
82 return NULL; 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 return NULL; 87 return NULL;
86 } 88 }
87} 89}