On 13/05/2020 13:04, Christoph Hellwig wrote: > rq = blk_mq_get_request(q, NULL, &alloc_data); > - blk_queue_exit(q); > - > - if (!rq) { > - blk_queue_exit(q); > - return ERR_PTR(-EWOULDBLOCK); > - } > + if (!rq) > + goto out_queue_exit; > > return rq; > +out_queue_exit: > + blk_queue_exit(q); > + return ERR_PTR(ret); I know success handling is discouraged in the kernel, but I think rq = blk_mq_get_request(q, NULL, &alloc_data); if (rq) return rq; out_queue_exit: blk_queue_exit(q); return ERR_PTR(ret); looks nicer, doesn't it?