scsi: hisi_sas: Replace with standard error code return value
authorYihang Li <liyihang9@huawei.com>
Thu, 14 Dec 2023 03:45:13 +0000 (11:45 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 25 Jan 2024 23:35:25 +0000 (15:35 -0800)
[ Upstream commit d34ee535705eb43885bc0f561c63046f697355ad ]

In function hisi_sas_controller_prereset(), -ENOSYS (Function not
implemented) should be returned if the driver does not support .soft_reset.
Returns -EPERM (Operation not permitted) if HISI_SAS_RESETTING_BIT is
already be set.

In function _suspend_v3_hw(), returns -EPERM (Operation not permitted) if
HISI_SAS_RESETTING_BIT is already be set.

Fixes: 4522204ab218 ("scsi: hisi_sas: tidy host controller reset function a bit")
Signed-off-by: Yihang Li <liyihang9@huawei.com>
Signed-off-by: Xiang Chen <chenxiang66@hisilicon.com>
Link: https://lore.kernel.org/r/1702525516-51258-3-git-send-email-chenxiang66@hisilicon.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/scsi/hisi_sas/hisi_sas_main.c
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c

index 9472b97..6dfa8be 100644 (file)
@@ -1565,12 +1565,12 @@ EXPORT_SYMBOL_GPL(hisi_sas_controller_reset_done);
 static int hisi_sas_controller_prereset(struct hisi_hba *hisi_hba)
 {
        if (!hisi_hba->hw->soft_reset)
-               return -1;
+               return -ENOENT;
 
        down(&hisi_hba->sem);
        if (test_and_set_bit(HISI_SAS_RESETTING_BIT, &hisi_hba->flags)) {
                up(&hisi_hba->sem);
-               return -1;
+               return -EPERM;
        }
 
        if (hisi_sas_debugfs_enable && hisi_hba->debugfs_itct[0].itct)
index 089186f..568bd80 100644 (file)
@@ -5148,7 +5148,7 @@ static int _suspend_v3_hw(struct device *device)
        }
 
        if (test_and_set_bit(HISI_SAS_RESETTING_BIT, &hisi_hba->flags))
-               return -1;
+               return -EPERM;
 
        dev_warn(dev, "entering suspend state\n");