summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorSagar Biradar <sagar.biradar@microchip.com>2019-03-07 23:26:41 -0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-03-23 14:35:20 +0100
commit02a29f3c1ff08a77432fac2bf581faeeada12589 (patch)
tree77b5f9ee07a33a5edeb0f8bf45af0b069d84bbd3 /drivers
parentbd69e827186e54ed51f4cc423e5603033248afa1 (diff)
downloadlinux-stable-02a29f3c1ff08a77432fac2bf581faeeada12589.tar.gz
linux-stable-02a29f3c1ff08a77432fac2bf581faeeada12589.tar.bz2
linux-stable-02a29f3c1ff08a77432fac2bf581faeeada12589.zip
scsi: aacraid: Fix performance issue on logical drives
commit 0015437cc046e5ec2b57b00ff8312b8d432eac7c upstream. 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> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers')
-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 4917649cacd5..053a31c5485f 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))