scsi: ufs: fail ufshcd_probe_hba() if power configuration fails
authorDov Levenglick <dovl@codeaurora.org>
Tue, 18 Oct 2016 00:10:14 +0000 (17:10 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Tue, 8 Nov 2016 22:29:58 +0000 (17:29 -0500)
In case the power configuration fails, skip further processing of the
probing function and return immediately. This has 2 reasons:

1. Don't allow the UFS to continue running in PWM

2. Avoid multiple calls to pm_runtime_put_sync() when not in error
   handling or power management contexts

Signed-off-by: Dov Levenglick <dovl@codeaurora.org>
Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/ufs/ufshcd.c

index 93e2fe82822fd16310c97e6ab0febd027be49b4c..d2930fb8b44690cb482231bd3348a79ddc6628da 100644 (file)
@@ -5051,9 +5051,11 @@ static int ufshcd_probe_hba(struct ufs_hba *hba)
                        __func__);
        } else {
                ret = ufshcd_config_pwr_mode(hba, &hba->max_pwr_info.info);
-               if (ret)
+               if (ret) {
                        dev_err(hba->dev, "%s: Failed setting power mode, err = %d\n",
                                        __func__, ret);
+                       goto out;
+               }
        }
 
        /* set the state as operational after switching to desired gear */