On Sat, Sep 05, 2020 at 06:22:15PM -0700, Bart Van Assche wrote: > It is not guaranteed that a request is available when scsi_eh_lock_door() > is called. Hence pass the BLK_MQ_REQ_NOWAIT flag to blk_get_request(). > This patch has a second purpose, namely preventing that > scsi_eh_lock_door() deadlocks if sdev->request_queue is frozen and if a > SCSI command is submitted to a SCSI device through a second request queue > that has not been frozen. I think it would help readers understand the reason for doing this if you mentioned that scsi_eh_lock_door() is the only place in the SCSI error handler that calls blk_get_request(). Also mention that an upcoming patch in this series requires the error handler to work okay even when the device's request queue is frozen. (That's what the second sentence of your description is getting at, but the connection is not clear.) Alan Stern