On Fri, Jul 27, 2018 at 09:20:40AM -0700, Bart Van Assche wrote: > +void blk_mq_add_timer(struct request *req) > +{ > + struct request_queue *q = req->q; > + > + if (!q->mq_ops) > + lockdep_assert_held(q->queue_lock); > + > + /* blk-mq has its own handler, so we don't need ->rq_timed_out_fn */ > + if (!q->mq_ops && !q->rq_timed_out_fn) > + return; <snip> > + if (!q->mq_ops) > + list_add_tail(&req->timeout_list, &req->q->timeout_list); Do you really need these checks for !q->mq_ops?