diff options
-rw-r--r-- | block/blk-core.c | 1 | ||||
-rw-r--r-- | block/blk-timeout.c | 3 |
2 files changed, 2 insertions, 2 deletions
diff --git a/block/blk-core.c b/block/blk-core.c index 0a00e4ecf87c..5e00b5a58f6a 100644 --- a/block/blk-core.c +++ b/block/blk-core.c | |||
@@ -2227,6 +2227,7 @@ void blk_start_request(struct request *req) | |||
2227 | if (unlikely(blk_bidi_rq(req))) | 2227 | if (unlikely(blk_bidi_rq(req))) |
2228 | req->next_rq->resid_len = blk_rq_bytes(req->next_rq); | 2228 | req->next_rq->resid_len = blk_rq_bytes(req->next_rq); |
2229 | 2229 | ||
2230 | BUG_ON(test_bit(REQ_ATOM_COMPLETE, &req->atomic_flags)); | ||
2230 | blk_add_timer(req); | 2231 | blk_add_timer(req); |
2231 | } | 2232 | } |
2232 | EXPORT_SYMBOL(blk_start_request); | 2233 | EXPORT_SYMBOL(blk_start_request); |
diff --git a/block/blk-timeout.c b/block/blk-timeout.c index 65f103563969..655ba909cd6a 100644 --- a/block/blk-timeout.c +++ b/block/blk-timeout.c | |||
@@ -91,8 +91,8 @@ static void blk_rq_timed_out(struct request *req) | |||
91 | __blk_complete_request(req); | 91 | __blk_complete_request(req); |
92 | break; | 92 | break; |
93 | case BLK_EH_RESET_TIMER: | 93 | case BLK_EH_RESET_TIMER: |
94 | blk_clear_rq_complete(req); | ||
95 | blk_add_timer(req); | 94 | blk_add_timer(req); |
95 | blk_clear_rq_complete(req); | ||
96 | break; | 96 | break; |
97 | case BLK_EH_NOT_HANDLED: | 97 | case BLK_EH_NOT_HANDLED: |
98 | /* | 98 | /* |
@@ -174,7 +174,6 @@ void blk_add_timer(struct request *req) | |||
174 | return; | 174 | return; |
175 | 175 | ||
176 | BUG_ON(!list_empty(&req->timeout_list)); | 176 | BUG_ON(!list_empty(&req->timeout_list)); |
177 | BUG_ON(test_bit(REQ_ATOM_COMPLETE, &req->atomic_flags)); | ||
178 | 177 | ||
179 | /* | 178 | /* |
180 | * Some LLDs, like scsi, peek at the timeout to prevent a | 179 | * Some LLDs, like scsi, peek at the timeout to prevent a |