scsi: ufs: qcom: Return ufs_qcom_clk_scale_*() errors in ufs_qcom_clk_scale_notify()
authorChanWoo Lee <cw9316.lee@samsung.com>
Fri, 15 Dec 2023 00:38:12 +0000 (09:38 +0900)
committerMartin K. Petersen <martin.petersen@oracle.com>
Tue, 19 Dec 2023 02:09:54 +0000 (21:09 -0500)
In commit 031312dbc695 ("scsi: ufs: ufs-qcom: Remove unnecessary goto
statements") the error handling was accidentally changed, resulting in the
error of ufs_qcom_clk_scale_*() calls not being returned.

This is the case I checked:

  ufs_qcom_clk_scale_notify ->
    'ufs_qcom_clk_scale_up_/down_pre_change' error ->
      return 0;

Make sure those errors are properly returned.

Fixes: 031312dbc695 ("scsi: ufs: ufs-qcom: Remove unnecessary goto statements")
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Signed-off-by: ChanWoo Lee <cw9316.lee@samsung.com>
Link: https://lore.kernel.org/r/20231215003812.29650-1-cw9316.lee@samsung.com
Reviewed-by: Andrew Halaney <ahalaney@redhat.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/ufs/host/ufs-qcom.c

index 96cb8b5b4e66f5c5c7eb23ccf8cdeccf7c8da233..17e24270477dd838dd19ab933793c0aa77511920 100644 (file)
@@ -1516,9 +1516,11 @@ static int ufs_qcom_clk_scale_notify(struct ufs_hba *hba,
                        err = ufs_qcom_clk_scale_up_pre_change(hba);
                else
                        err = ufs_qcom_clk_scale_down_pre_change(hba);
-               if (err)
-                       ufshcd_uic_hibern8_exit(hba);
 
+               if (err) {
+                       ufshcd_uic_hibern8_exit(hba);
+                       return err;
+               }
        } else {
                if (scale_up)
                        err = ufs_qcom_clk_scale_up_post_change(hba);