scsi: aacraid: Rework aac_src_restart
authorRaghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com>
Wed, 10 May 2017 16:39:47 +0000 (09:39 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Tue, 13 Jun 2017 00:48:00 +0000 (20:48 -0400)
Removed switch case and replaced with if mask checks. Moved KERNEL_PANIC
check to when bled is less than 0.

Signed-off-by: Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com>
Reviewed-by: David Carroll <david.carroll@microsemi.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/aacraid/src.c

index 9ad60d63586d6a8d84e2af2df78a5975d8427e2b..e7b4c0782806d3ddec25dc41b1a7ef0e3258472c 100644 (file)
@@ -772,8 +772,7 @@ static int aac_src_restart_adapter(struct aac_dev *dev, int bled, u8 reset_type)
 
        dev->a_ops.adapter_enable_int = aac_src_disable_interrupt;
 
-       switch (reset_type) {
-       case IOP_HWSOFT_RESET:
+       if (reset_type & HW_IOP_RESET) {
                aac_send_iop_reset(dev);
 
                /*
@@ -784,12 +783,14 @@ static int aac_src_restart_adapter(struct aac_dev *dev, int bled, u8 reset_type)
                        dev_err(&dev->pdev->dev, "IOP reset failed\n");
                else
                        goto set_startup;
+       }
 
-               if (!dev->sa_firmware) {
-                       ret = -ENODEV;
-                       goto out;
-               }
+       if (!dev->sa_firmware) {
+               ret = -ENODEV;
+               goto out;
+       }
 
+       if (reset_type & HW_SOFT_RESET) {
                aac_send_hardware_soft_reset(dev);
                dev->msi_enabled = 0;
 
@@ -799,30 +800,19 @@ static int aac_src_restart_adapter(struct aac_dev *dev, int bled, u8 reset_type)
                        ret = -ENODEV;
                        goto out;
                }
-
-               break;
-       case HW_SOFT_RESET:
-               if (dev->sa_firmware) {
-                       aac_send_hardware_soft_reset(dev);
-                       aac_set_intx_mode(dev);
-               }
-               break;
-       default:
-               aac_send_iop_reset(dev);
-               break;
        }
 
-invalid_out:
-
-       if (src_readl(dev, MUnit.OMR) & KERNEL_PANIC)
-               ret = -ENODEV;
-
 set_startup:
        if (startup_timeout < 300)
                startup_timeout = 300;
 
 out:
        return ret;
+
+invalid_out:
+       if (src_readl(dev, MUnit.OMR) & KERNEL_PANIC)
+               ret = -ENODEV;
+goto out;
 }
 
 /**