]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
usb: chipidea: imx: check data->usbmisc_data against NULL before access
authorLi Jun <jun.li@nxp.com>
Wed, 9 Oct 2019 02:52:28 +0000 (10:52 +0800)
committerPeter Chen <peter.chen@nxp.com>
Mon, 18 Nov 2019 08:45:30 +0000 (16:45 +0800)
As usbmisc_data is optional, so add the check before access its member,
this fix below static checker warning:
drivers/usb/chipidea/ci_hdrc_imx.c:438 ci_hdrc_imx_probe()
warn: 'data->usbmisc_data' can also be NULL
which is introduced by Patch 15b80f7c3a7f:
"usb: chipidea: imx: enable vbus and id wakeup only for OTG events"

Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Li Jun <jun.li@nxp.com>
Signed-off-by: Peter Chen <peter.chen@nxp.com>
drivers/usb/chipidea/ci_hdrc_imx.c

index 2fde44ca4a481330c998a2e70801e82028443d40..16700170bc34afe0a12860f1cc98de9e5dcd2261 100644 (file)
@@ -433,13 +433,15 @@ static int ci_hdrc_imx_probe(struct platform_device *pdev)
                goto err_clk;
        }
 
-       if (!IS_ERR(pdata.id_extcon.edev) ||
-           of_property_read_bool(np, "usb-role-switch"))
-               data->usbmisc_data->ext_id = 1;
-
-       if (!IS_ERR(pdata.vbus_extcon.edev) ||
-           of_property_read_bool(np, "usb-role-switch"))
-               data->usbmisc_data->ext_vbus = 1;
+       if (data->usbmisc_data) {
+               if (!IS_ERR(pdata.id_extcon.edev) ||
+                   of_property_read_bool(np, "usb-role-switch"))
+                       data->usbmisc_data->ext_id = 1;
+
+               if (!IS_ERR(pdata.vbus_extcon.edev) ||
+                   of_property_read_bool(np, "usb-role-switch"))
+                       data->usbmisc_data->ext_vbus = 1;
+       }
 
        ret = imx_usbmisc_init_post(data->usbmisc_data);
        if (ret) {