diff options
author | Jens Axboe <jens.axboe@oracle.com> | 2009-04-17 02:36:50 -0400 |
---|---|---|
committer | Jens Axboe <jens.axboe@oracle.com> | 2009-04-22 02:35:10 -0400 |
commit | b759113499d6c7cb75fab04f56772579308bc0f8 (patch) | |
tree | d36a0ea295f675bd678ee30e8191c0358cfc5b74 /block | |
parent | 71982a409f12c50d011325a4471aa20666bb908d (diff) |
block: make blk_abort_queue() ignore non-request based devices
There's nothing to do for those devices, since the timeout handling is
based on requests.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Diffstat (limited to 'block')
-rw-r--r-- | block/blk-timeout.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/block/blk-timeout.c b/block/blk-timeout.c index bbbdc4b8ccf2..8f570c4c80ee 100644 --- a/block/blk-timeout.c +++ b/block/blk-timeout.c | |||
@@ -211,6 +211,12 @@ void blk_abort_queue(struct request_queue *q) | |||
211 | struct request *rq, *tmp; | 211 | struct request *rq, *tmp; |
212 | LIST_HEAD(list); | 212 | LIST_HEAD(list); |
213 | 213 | ||
214 | /* | ||
215 | * Not a request based block device, nothing to abort | ||
216 | */ | ||
217 | if (!q->request_fn) | ||
218 | return; | ||
219 | |||
214 | spin_lock_irqsave(q->queue_lock, flags); | 220 | spin_lock_irqsave(q->queue_lock, flags); |
215 | 221 | ||
216 | elv_abort_queue(q); | 222 | elv_abort_queue(q); |