diff options
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 aa40aa93381b..3610af561748 100644 --- a/block/blk-timeout.c +++ b/block/blk-timeout.c | |||
@@ -186,6 +186,7 @@ unsigned long blk_rq_timeout(unsigned long timeout) | |||
186 | * Notes: | 186 | * Notes: |
187 | * Each request has its own timer, and as it is added to the queue, we | 187 | * Each request has its own timer, and as it is added to the queue, we |
188 | * set up the timer. When the request completes, we cancel the timer. | 188 | * set up the timer. When the request completes, we cancel the timer. |
189 | * Queue lock must be held for the non-mq case, mq case doesn't care. | ||
189 | */ | 190 | */ |
190 | void blk_add_timer(struct request *req) | 191 | void blk_add_timer(struct request *req) |
191 | { | 192 | { |
@@ -209,6 +210,11 @@ void blk_add_timer(struct request *req) | |||
209 | req->timeout = q->rq_timeout; | 210 | req->timeout = q->rq_timeout; |
210 | 211 | ||
211 | req->deadline = jiffies + req->timeout; | 212 | req->deadline = jiffies + req->timeout; |
213 | |||
214 | /* | ||
215 | * Only the non-mq case needs to add the request to a protected list. | ||
216 | * For the mq case we simply scan the tag map. | ||
217 | */ | ||
212 | if (!q->mq_ops) | 218 | if (!q->mq_ops) |
213 | list_add_tail(&req->timeout_list, &req->q->timeout_list); | 219 | list_add_tail(&req->timeout_list, &req->q->timeout_list); |
214 | 220 | ||