summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/scsi_lib.c
diff options
context:
space:
mode:
authorMing Lei <ming.lei@redhat.com>2018-06-30 09:27:24 +0800
committerMartin K. Petersen <martin.petersen@oracle.com>2018-07-02 16:24:02 -0400
commit265d59aacbce7e50bdc1f5d25033c38dd70b3767 (patch)
tree4470be9ba7d1c6af5cec227998715d14bdcf3f38 /drivers/scsi/scsi_lib.c
parent624fa7790f80575a4ec28fbdb2034097dc18d051 (diff)
downloadlinux-stable-265d59aacbce7e50bdc1f5d25033c38dd70b3767.tar.gz
linux-stable-265d59aacbce7e50bdc1f5d25033c38dd70b3767.tar.bz2
linux-stable-265d59aacbce7e50bdc1f5d25033c38dd70b3767.zip
scsi: core: fix scsi_host_queue_ready
328728630d9f ("scsi: avoid to hold host-wide counter of host_busy for scsi_mq") adds one extra check on scsi_host_busy(shost) in scsi_host_queue_ready(), which is wrong and not necessary, can causes booting stall on LSI53c895A. So remove the check. Cc: Omar Sandoval <osandov@fb.com>, Cc: "Martin K. Petersen" <martin.petersen@oracle.com>, Cc: James Bottomley <james.bottomley@hansenpartnership.com>, Cc: Christoph Hellwig <hch@lst.de>, Cc: Don Brace <don.brace@microsemi.com> Cc: Kashyap Desai <kashyap.desai@broadcom.com> Cc: Mike Snitzer <snitzer@redhat.com> Cc: Hannes Reinecke <hare@suse.de> Cc: Laurence Oberman <loberman@redhat.com> Cc: Bart Van Assche <bart.vanassche@wdc.com> Cc: Guenter Roeck <linux@roeck-us.net> Reported-by: Guenter Roeck <linux@roeck-us.net> Fixes: 328728630d9f ("scsi: avoid to hold host-wide counter of host_busy for scsi_mq") Signed-off-by: Ming Lei <ming.lei@redhat.com> Tested-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'drivers/scsi/scsi_lib.c')
-rw-r--r--drivers/scsi/scsi_lib.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c
index 600c78065d62..93cf2ec2d13b 100644
--- a/drivers/scsi/scsi_lib.c
+++ b/drivers/scsi/scsi_lib.c
@@ -1611,7 +1611,7 @@ static inline int scsi_host_queue_ready(struct request_queue *q,
else
busy = 0;
if (atomic_read(&shost->host_blocked) > 0) {
- if (busy || scsi_host_busy(shost))
+ if (busy)
goto starved;
/*