diff mbox

scsi: fix scsi_host_queue_ready

Message ID 20180630012724.24178-1-ming.lei@redhat.com (mailing list archive)
State New, archived
Headers show

Commit Message

Ming Lei June 30, 2018, 1:27 a.m. UTC
328728630d9f2bf1 ("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: 328728630d9f2bf1 ("scsi: avoid to hold host-wide counter of host_busy for scsi_mq")
Signed-off-by: Ming Lei <ming.lei@redhat.com>
---
 drivers/scsi/scsi_lib.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Guenter Roeck June 30, 2018, 1:40 a.m. UTC | #1
On Sat, Jun 30, 2018 at 09:27:24AM +0800, Ming Lei wrote:
> 328728630d9f2bf1 ("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: 328728630d9f2bf1 ("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>

> ---
>  drivers/scsi/scsi_lib.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c
> index 1c79c86184b1..cc97818cb29c 100644
> --- a/drivers/scsi/scsi_lib.c
> +++ b/drivers/scsi/scsi_lib.c
> @@ -1561,7 +1561,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;
>  
>  		/*
> -- 
> 2.9.5
>
Martin K. Petersen July 2, 2018, 8:24 p.m. UTC | #2
Ming,

> 328728630d9f2bf1 ("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.

Applied to 4.19/scsi-queue, thanks!
diff mbox

Patch

diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c
index 1c79c86184b1..cc97818cb29c 100644
--- a/drivers/scsi/scsi_lib.c
+++ b/drivers/scsi/scsi_lib.c
@@ -1561,7 +1561,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;
 
 		/*