summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/aacraid/src.c
diff options
context:
space:
mode:
authorRaghava Aditya Renukunta2017-02-16 21:51:20 +0100
committerMartin K. Petersen2017-02-23 00:41:42 +0100
commit146aa1786d4978795cab5347d810e00236dea1c3 (patch)
tree9d78cbc80731d98f5d955c7afa1eb403ff49da3d /drivers/scsi/aacraid/src.c
parentscsi: aacraid: Decrease adapter health check interval (diff)
downloadkernel-qcow2-linux-146aa1786d4978795cab5347d810e00236dea1c3.tar.gz
kernel-qcow2-linux-146aa1786d4978795cab5347d810e00236dea1c3.tar.xz
kernel-qcow2-linux-146aa1786d4978795cab5347d810e00236dea1c3.zip
scsi: aacraid: Skip IOP reset on controller panic(SMART Family)
When the SMART family of controller panic (KERNEL_PANIC) , they do not honor IOP resets. So better to skip it and directly perform a IWBR reset. Signed-off-by: Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> Reviewed-by: David Carroll <David.Carroll@microsemi.com> Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'drivers/scsi/aacraid/src.c')
-rw-r--r--drivers/scsi/aacraid/src.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/scsi/aacraid/src.c b/drivers/scsi/aacraid/src.c
index b23c818adbf6..9b11e1a6cc75 100644
--- a/drivers/scsi/aacraid/src.c
+++ b/drivers/scsi/aacraid/src.c
@@ -714,6 +714,12 @@ static int aac_src_restart_adapter(struct aac_dev *dev, int bled, u8 reset_type)
pr_err("%s%d: adapter kernel panic'd %x.\n",
dev->name, dev->id, bled);
+ /*
+ * When there is a BlinkLED, IOP_RESET has not effect
+ */
+ if (bled >= 2 && dev->sa_firmware && reset_type & HW_IOP_RESET)
+ reset_type &= ~HW_IOP_RESET;
+
dev->a_ops.adapter_enable_int = aac_src_disable_interrupt;
switch (reset_type) {