When np is NULL or of_parse_phandle() returns NULL, no error return code
of ufshcd_populate_vreg() is assigned.
To fix this bug, ret is assigned with -EINVAL or -ENOENT as error return
code.

Reported-by: TOTE Robot <[email protected]>
Signed-off-by: Jia-Ju Bai <[email protected]>
---
 drivers/scsi/ufs/ufshcd-pltfrm.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/scsi/ufs/ufshcd-pltfrm.c b/drivers/scsi/ufs/ufshcd-pltfrm.c
index 1a69949a4ea1..9f11c416a919 100644
--- a/drivers/scsi/ufs/ufshcd-pltfrm.c
+++ b/drivers/scsi/ufs/ufshcd-pltfrm.c
@@ -113,6 +113,7 @@ static int ufshcd_populate_vreg(struct device *dev, const 
char *name,
 
        if (!np) {
                dev_err(dev, "%s: non DT initialization\n", __func__);
+               ret = -EINVAL;
                goto out;
        }
 
@@ -120,6 +121,7 @@ static int ufshcd_populate_vreg(struct device *dev, const 
char *name,
        if (!of_parse_phandle(np, prop_name, 0)) {
                dev_info(dev, "%s: Unable to find %s regulator, assuming 
enabled\n",
                                __func__, prop_name);
+               ret = -ENOENT;
                goto out;
        }
 
-- 
2.17.1

Reply via email to