From: Jason Baron <jbaron@xxxxxxxxxx> Date: Wed, 28 Dec 2016 23:30:24 -0500 > On ata passthru commands scsih_qcmd() ends up spinning in > scsi_wait_for_queuecommand() indefinitely. scsih_qcmd() is called from > __blk_run_queue_uncond() which first increments request_fn_active to a > non-zero value. Thus, scsi_wait_for_queuecommand() never completes because > its spinning waiting for request_fn_active to become 0. > > Two patches interact here. The first: > > commit 18f6084a989b ("scsi: mpt3sas: Fix secure erase premature > termination") calls scsi_internal_device_block() for ata passthru commands. > > The second patch: > > commit 669f044170d8 ("scsi: srp_transport: Move queuecommand() wait code > to SCSI core") adds a call to scsi_wait_for_queuecommand() from > scsi_internal_device_block(). > > Add a new parameter to scsi_internal_device_block() to decide whether > or not to invoke scsi_wait_for_queuecommand(). > > Signed-off-by: Jason Baron <jbaron@xxxxxxxxxx> Tested-by: David S. Miller <davem@xxxxxxxxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html