Just a comment update on not needing queue_lock, and that we aren't
really adding the request to a timeout list for !mq.
Signed-off-by: Jens Axboe <axboe@fb.com>
  * Notes:
  *    Each request has its own timer, and as it is added to the queue, we
  *    set up the timer. When the request completes, we cancel the timer.
+ *    Queue lock must be held for the non-mq case, mq case doesn't care.
  */
 void blk_add_timer(struct request *req)
 {
                req->timeout = q->rq_timeout;
 
        req->deadline = jiffies + req->timeout;
+
+       /*
+        * Only the non-mq case needs to add the request to a protected list.
+        * For the mq case we simply scan the tag map.
+        */
        if (!q->mq_ops)
                list_add_tail(&req->timeout_list, &req->q->timeout_list);