On Tue, May 30, 2017 at 03:12:41PM +0000, Bart Van Assche wrote: > On Sat, 2017-05-27 at 22:21 +0800, Ming Lei wrote: > > --- a/drivers/scsi/scsi_lib.c > > +++ b/drivers/scsi/scsi_lib.c > > @@ -3030,7 +3030,10 @@ scsi_internal_device_unblock(struct scsi_device *sdev, > > return -EINVAL; > > > > if (q->mq_ops) { > > - blk_mq_start_stopped_hw_queues(q, false); > > + if (blk_queue_quiesced(q)) > > + blk_mq_unquiesce_queue(q); > > + else > > + blk_mq_start_stopped_hw_queues(q, false); > > } else { > > spin_lock_irqsave(q->queue_lock, flags); > > blk_start_queue(q); > > Hello Ming, > > Sorry but that change looks wrong to me. All what's needed here is a call > to blk_mq_unquiesce_queue(). I think blk_mq_unquiesce_queue() should be called for case of queue quiesced. Thanks, Ming