On Tue, Nov 02, 2021 at 05:05:29PM -0700, Bart Van Assche wrote: > - req = blk_get_request(q, REQ_OP_DRV_OUT, 0); > + req = blk_mq_alloc_request(q, REQ_OP_DRV_OUT, BLK_MQ_REQ_RESERVED); blk_get_request will be gone in 5.16-rc, so this won't apply. But more importantly: SCSI LLDDs have absolutel no business calling blk_get_request or blk_mq_alloc_request directly, but as usual UFS is completely fucked up here. Please add a SCSI midlayer helper to allocate the reserved tags, and switch _all_ of this UFS we're sending our own commands crap to it so it doesn't mix with the actual SCSI requests. We might or might not want a separate request_queue for them as well as non-SCSI requests really should not show up in ->queuecommand. Hannes and John have been looking into this for a while and we need to sort this out properly.