Commit 80bd7181b036c7b4118eb19cfff3b555889596e6
Committed by
Martin Schwidefsky
1 parent
d1ffc1f866
Exists in
smarc-imx_3.14.28_1.0.0_ga
and in
1 other branch
block: check for timeout function in blk_rq_timed_out()
rq_timed_out_fn might have been unset while the request was in flight, so we need to check for it in blk_rq_timed_out(). Acked-by: Jens Axboe <axboe@kernel.dk> Signed-off-by: Hannes Reinecke <hare@suse.de> Signed-off-by: Stefan Weinhuber <wein@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Showing 1 changed file with 3 additions and 2 deletions Side-by-side Diff
block/blk-timeout.c
... | ... | @@ -82,9 +82,10 @@ |
82 | 82 | static void blk_rq_timed_out(struct request *req) |
83 | 83 | { |
84 | 84 | struct request_queue *q = req->q; |
85 | - enum blk_eh_timer_return ret; | |
85 | + enum blk_eh_timer_return ret = BLK_EH_RESET_TIMER; | |
86 | 86 | |
87 | - ret = q->rq_timed_out_fn(req); | |
87 | + if (q->rq_timed_out_fn) | |
88 | + ret = q->rq_timed_out_fn(req); | |
88 | 89 | switch (ret) { |
89 | 90 | case BLK_EH_HANDLED: |
90 | 91 | __blk_complete_request(req); |