diff options
author | Bart Van Assche <bart.vanassche@sandisk.com> | 2016-11-22 19:17:50 -0500 |
---|---|---|
committer | Martin K. Petersen <martin.petersen@oracle.com> | 2016-12-20 17:01:28 -0500 |
commit | 7dbbf0fa1bf14c17900bb8057986b06db3822239 (patch) | |
tree | 95caa3b38a4ab3f291ec587cf7dc8d8616764d9f | |
parent | d2a145252c52792bc59e4767b486b26c430af4bb (diff) |
scsi: scsi-mq: Wait for .queue_rq() if necessary
Ensure that if scsi-mq is enabled that scsi_internal_device_block()
waits until ongoing shost->hostt->queuecommand() calls have finished.
Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>
Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
Cc: James Bottomley <jejb@linux.vnet.ibm.com>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Doug Ledford <dledford@redhat.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
-rw-r--r-- | drivers/scsi/scsi_lib.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c index c35b6de4ca64..9fd9a977c695 100644 --- a/drivers/scsi/scsi_lib.c +++ b/drivers/scsi/scsi_lib.c | |||
@@ -2893,7 +2893,7 @@ scsi_internal_device_block(struct scsi_device *sdev) | |||
2893 | * request queue. | 2893 | * request queue. |
2894 | */ | 2894 | */ |
2895 | if (q->mq_ops) { | 2895 | if (q->mq_ops) { |
2896 | blk_mq_stop_hw_queues(q); | 2896 | blk_mq_quiesce_queue(q); |
2897 | } else { | 2897 | } else { |
2898 | spin_lock_irqsave(q->queue_lock, flags); | 2898 | spin_lock_irqsave(q->queue_lock, flags); |
2899 | blk_stop_queue(q); | 2899 | blk_stop_queue(q); |