MLK-11896-3 usb: chipidea: imx: add NULL check for usbmisc_data

Check if data->usbmisc_data is NULL before dereference it in probe.

Acked-by: Peter Chen <peter.chen@freescale.com>
Signed-off-by: Li Jun <jun.li@freescale.com>
This commit is contained in:
Li Jun 2015-11-26 17:35:13 +08:00 committed by Jason Liu
parent c9560581d2
commit 2fa1f7fc38

View file

@ -531,7 +531,8 @@ static int ci_hdrc_imx_probe(struct platform_device *pdev)
if (pdata.flags & CI_HDRC_SUPPORTS_RUNTIME_PM)
data->supports_runtime_pm = true;
if (data->usbmisc_data->index > 1 && (imx_has_hsic_con(data))) {
if (data->usbmisc_data && data->usbmisc_data->index > 1
&& (imx_has_hsic_con(data))) {
pdata.flags |= CI_HDRC_IMX_IS_HSIC;
data->hsic_pad_regulator = devm_regulator_get(&pdev->dev,
"pad");
@ -559,7 +560,7 @@ static int ci_hdrc_imx_probe(struct platform_device *pdev)
}
}
if (of_find_property(np, "fsl,anatop", NULL)) {
if (of_find_property(np, "fsl,anatop", NULL) && data->usbmisc_data) {
data->anatop = syscon_regmap_lookup_by_phandle(np,
"fsl,anatop");
if (IS_ERR(data->anatop)) {
@ -568,11 +569,11 @@ static int ci_hdrc_imx_probe(struct platform_device *pdev)
ret = PTR_ERR(data->anatop);
goto disable_hsic_regulator;
}
if (data->usbmisc_data)
data->usbmisc_data->anatop = data->anatop;
data->usbmisc_data->anatop = data->anatop;
}
if (of_find_property(np, "imx-usb-charger-detection", NULL)) {
if (of_find_property(np, "imx-usb-charger-detection", NULL) &&
data->usbmisc_data) {
data->imx_usb_charger_detection = true;
data->charger.dev = &pdev->dev;
data->usbmisc_data->charger = &data->charger;
@ -615,7 +616,8 @@ static int ci_hdrc_imx_probe(struct platform_device *pdev)
}
/* usbmisc needs to know dr mode to choose wakeup setting */
data->usbmisc_data->available_role =
if (data->usbmisc_data)
data->usbmisc_data->available_role =
ci_hdrc_query_available_role(data->ci_pdev);
if (data->supports_runtime_pm) {