From: Luo Jiaxing <[email protected]>

At expander environment, we delay after issue phy reset to wait for
hardware to handle phy reset. But if sas_smp_phy_control() fails, the
delay is unnecessary so remove it.

Signed-off-by: Luo Jiaxing <[email protected]>
Signed-off-by: John Garry <[email protected]>
---
 drivers/scsi/hisi_sas/hisi_sas_main.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/scsi/hisi_sas/hisi_sas_main.c 
b/drivers/scsi/hisi_sas/hisi_sas_main.c
index 5642c53cccae..247268983df9 100644
--- a/drivers/scsi/hisi_sas/hisi_sas_main.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_main.c
@@ -1791,9 +1791,10 @@ static int hisi_sas_debug_I_T_nexus_reset(struct 
domain_device *device)
        } else if (sas_dev->dev_status != HISI_SAS_DEV_INIT) {
                /*
                 * If in init state, we rely on caller to wait for link to be
-                * ready; otherwise, delay.
+                * ready; otherwise, except phy reset is fail, delay.
                 */
-               msleep(2000);
+               if (!rc)
+                       msleep(2000);
        }
 
        return rc;
-- 
2.17.1

Reply via email to