block: fix race between request completion and timeout handling
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / block / blk-core.c
index d5745b5833c9d76527809c41b4718c3df70407df..45f3a51f6b56f3ddd50cc0016b4b3662f9e85783 100644 (file)
@@ -2229,6 +2229,7 @@ void blk_start_request(struct request *req)
        if (unlikely(blk_bidi_rq(req)))
                req->next_rq->resid_len = blk_rq_bytes(req->next_rq);
 
+       BUG_ON(test_bit(REQ_ATOM_COMPLETE, &req->atomic_flags));
        blk_add_timer(req);
 }
 EXPORT_SYMBOL(blk_start_request);