Hi Martin, As explained in a recent LSF/MM topic proposal, it can happen that the SCSI error handler calls .queuecommand() for a blocked SCSI device. SCSI LLDs do not expect this. Hence this patch series. Please consider this series for kernel v5.3. Thanks, Bart. Changes compared to v3: - Instead of converting sysfs attempts to change the SCSI device state into "blocked" into "quiesced", refuse attempts to change the SCSI device into anything else than "offline" or "running". - In patch 2/2, remove a "to do" comment above scsi_internal_device_block(). Changes compared to v2: - Added a patch that converts SDEV_BLOCK into SDEV_QUIESCE for requests received through sysfs to change the SCSI device state. Changes compared to v1: - Wait on SDEV_BLOCK instead of SDEV_QUIESCE in the SCSI error handler. Bart Van Assche (3): scsi: Restrict user space SCSI device state changes to "running" and "offfline" scsi: Avoid that .queuecommand() gets called for a blocked SCSI device RDMA/srp: Fix a sleep-in-invalid-context bug drivers/infiniband/ulp/srp/ib_srp.c | 21 ++------------------- drivers/scsi/scsi_error.c | 26 ++++++++++++++++++++++++-- drivers/scsi/scsi_lib.c | 4 ---- drivers/scsi/scsi_sysfs.c | 7 ++++++- 4 files changed, 32 insertions(+), 26 deletions(-) -- 2.22.0.rc3