Blob Blame History Raw
From: Don Brace <don.brace@microsemi.com>
Date: Fri, 24 Jul 2020 16:25:08 -0500
Subject: scsi: hpsa: Correct ctrl queue depth
Patch-mainline: v5.9-rc1
Git-commit: 5759ff1131cd420aad7eae639719a473154b2e37
References: jsc#SLE-15150

Need to set queue depth for controller devices.

Link: https://lore.kernel.org/r/159562590819.17915.12766718094041027754.stgit@brunhilda
Fixes: 30bda7848a23 ("scsi: hpsa: Increase controller error handling timeout")
Reviewed-by: Scott Teel <scott.teel@microsemi.com>
Signed-off-by: Don Brace <don.brace@microsemi.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Acked-by: Martin Wilck <mwilck@suse.com>
---
 drivers/scsi/hpsa.c |   11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

--- a/drivers/scsi/hpsa.c
+++ b/drivers/scsi/hpsa.c
@@ -2146,20 +2146,21 @@ static int hpsa_slave_configure(struct s
 
 	if (sd) {
 		sd->was_removed = 0;
+		queue_depth = sd->queue_depth != 0 ?
+				sd->queue_depth : sdev->host->can_queue;
 		if (sd->external) {
 			queue_depth = EXTERNAL_QD;
 			sdev->eh_timeout = HPSA_EH_PTRAID_TIMEOUT;
 			blk_queue_rq_timeout(sdev->request_queue,
 						HPSA_EH_PTRAID_TIMEOUT);
-		} else if (is_hba_lunid(sd->scsi3addr)) {
+		}
+		if (is_hba_lunid(sd->scsi3addr)) {
 			sdev->eh_timeout = CTLR_TIMEOUT;
 			blk_queue_rq_timeout(sdev->request_queue, CTLR_TIMEOUT);
-		} else {
-			queue_depth = sd->queue_depth != 0 ?
-					sd->queue_depth : sdev->host->can_queue;
 		}
-	} else
+	} else {
 		queue_depth = sdev->host->can_queue;
+	}
 
 	scsi_change_queue_depth(sdev, queue_depth);