When sas_port is NULL, then return SAS_PHY_DOWN.

In addition, when the sas_dev is gone then explicitly
return SAS_PHY_DOWN.

Signed-off-by: John Garry <john.ga...@huawei.com>
Signed-off-by: Xiang Chen <chenxian...@hisilicon.com>
---
 drivers/scsi/hisi_sas/hisi_sas_main.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/scsi/hisi_sas/hisi_sas_main.c 
b/drivers/scsi/hisi_sas/hisi_sas_main.c
index f64c1b6..7c1fb75 100644
--- a/drivers/scsi/hisi_sas/hisi_sas_main.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_main.c
@@ -200,7 +200,7 @@ static int hisi_sas_task_prep(struct sas_task *task, struct 
hisi_hba *hisi_hba,
                 */
                if (device->dev_type != SAS_SATA_DEV)
                        task->task_done(task);
-               return 0;
+               return SAS_PHY_DOWN;
        }
 
        if (DEV_IS_GONE(sas_dev)) {
@@ -211,8 +211,7 @@ static int hisi_sas_task_prep(struct sas_task *task, struct 
hisi_hba *hisi_hba,
                        dev_info(dev, "task prep: device %016llx not ready\n",
                                 SAS_ADDR(device->sas_addr));
 
-               rc = SAS_PHY_DOWN;
-               return rc;
+               return SAS_PHY_DOWN;
        }
 
        port = to_hisi_sas_port(sas_port);
-- 
1.9.1

Reply via email to