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>
 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)
 
        }
 
        if (test_and_set_bit(HISI_SAS_RESETTING_BIT, &hisi_hba->flags))
-               return -1;
+               return -EPERM;
 
        dev_warn(dev, "entering suspend state\n");