Recently Martin Kepplinger reported a problem with the SCSI runtime PM code. Alan Stern root-caused the reported deadlock. This patch series is an attempt to fix that deadlock. These patches compile but have not yet been tested. Bart Van Assche (6): ide: Do not set the RQF_PREEMPT flag for sense requests scsi: Remove an incorrect comment scsi: Pass a request queue pointer to __scsi_execute() scsi_transport_spi: Make spi_execute() accept a request queue pointer scsi_transport_spi: Freeze request queues instead of quiescing block, scsi, ide: Only submit power management requests in state RPM_SUSPENDED block/blk-core.c | 6 +- block/blk-mq-debugfs.c | 1 - block/blk-mq.c | 4 +- drivers/ide/ide-atapi.c | 1 - drivers/ide/ide-io.c | 3 +- drivers/ide/ide-pm.c | 2 +- drivers/scsi/scsi_lib.c | 61 ++++++++------- drivers/scsi/scsi_priv.h | 2 + drivers/scsi/scsi_transport_spi.c | 123 +++++++++++++++++------------- include/linux/blk-mq.h | 4 +- include/linux/blkdev.h | 6 +- include/scsi/scsi_device.h | 16 ++-- 12 files changed, 120 insertions(+), 109 deletions(-)