usb: msm_otg: Fix error handling bug in driver probe
Driver probe is returning 0(success) in case of error
returned by APIs called in msm_otg_probe(). This is causing
NULL pointer exceptions during system wide suspend as
driver data for platform device is not set.
CRs-Fixed: 379532
Change-Id: I194e9386ba8de6d88ab102a467793f8b2f03083a
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
diff --git a/drivers/usb/otg/msm_otg.c b/drivers/usb/otg/msm_otg.c
index b6fc43f..487bc59 100644
--- a/drivers/usb/otg/msm_otg.c
+++ b/drivers/usb/otg/msm_otg.c
@@ -3504,6 +3504,7 @@
hsusb_vddcx = devm_regulator_get(motg->phy.dev, "HSUSB_VDDCX");
if (IS_ERR(hsusb_vddcx)) {
dev_err(motg->phy.dev, "unable to get hsusb vddcx\n");
+ ret = PTR_ERR(hsusb_vddcx);
goto devote_xo_handle;
}
motg->vdd_type = VDDCX;
@@ -3532,6 +3533,7 @@
"mhl_usb_hs_switch");
if (IS_ERR(mhl_usb_hs_switch)) {
dev_err(&pdev->dev, "Unable to get mhl_usb_hs_switch\n");
+ ret = PTR_ERR(mhl_usb_hs_switch);
goto free_ldo_init;
}
}