scsi: hisi_sas: error hisi_sas_task_prep() when port down

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.garry@huawei.com>
Signed-off-by: Xiang Chen <chenxiang66@hisilicon.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
John Garry 2017-03-23 01:25:22 +08:00 committed by Martin K. Petersen
parent 405314df56
commit ddabca216c

View file

@ -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);