summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSagar Biradar <sagar.biradar@microchip.com>2019-03-08 10:26:41 +0300
committerMartin K. Petersen <martin.petersen@oracle.com>2019-03-14 14:16:36 +0300
commit0015437cc046e5ec2b57b00ff8312b8d432eac7c (patch)
treee732d74113c2d6be4b46a361466be7964308a47f
parent3a487ff78c4b2bf5686dbb29178cfd78b3eed053 (diff)
downloadlinux-0015437cc046e5ec2b57b00ff8312b8d432eac7c.tar.xz
scsi: aacraid: Fix performance issue on logical drives
Fix performance issue where the queue depth for SmartIOC logical volumes is set to 1, and allow the usual logical volume code to be executed Fixes: a052865fe287 (aacraid: Set correct Queue Depth for HBA1000 RAW disks) Cc: stable@vger.kernel.org Signed-off-by: Sagar Biradar <Sagar.Biradar@microchip.com> Reviewed-by: Dave Carroll <david.carroll@microsemi.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
-rw-r--r--drivers/scsi/aacraid/linit.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/drivers/scsi/aacraid/linit.c b/drivers/scsi/aacraid/linit.c
index 22ecacffeca6..598d6efae53e 100644
--- a/drivers/scsi/aacraid/linit.c
+++ b/drivers/scsi/aacraid/linit.c
@@ -413,13 +413,16 @@ static int aac_slave_configure(struct scsi_device *sdev)
if (chn < AAC_MAX_BUSES && tid < AAC_MAX_TARGETS && aac->sa_firmware) {
devtype = aac->hba_map[chn][tid].devtype;
- if (devtype == AAC_DEVTYPE_NATIVE_RAW)
+ if (devtype == AAC_DEVTYPE_NATIVE_RAW) {
depth = aac->hba_map[chn][tid].qd_limit;
- else if (devtype == AAC_DEVTYPE_ARC_RAW)
+ set_timeout = 1;
+ goto common_config;
+ }
+ if (devtype == AAC_DEVTYPE_ARC_RAW) {
set_qd_dev_type = true;
-
- set_timeout = 1;
- goto common_config;
+ set_timeout = 1;
+ goto common_config;
+ }
}
if (aac->jbod && (sdev->type == TYPE_DISK))