Hello Peter Chen,
The patch 7c8e8909417e: "usb: chipidea: imx: add HSIC support" from
Oct 16, 2018, leads to the following static checker warning:
drivers/usb/chipidea/ci_hdrc_imx.c:321 ci_hdrc_imx_probe()
warn: 'data->usbmisc_data' can also be NULL
drivers/usb/chipidea/ci_hdrc_imx.c
309
310 data = devm_kzalloc(&pdev->dev, sizeof(*data), GFP_KERNEL);
311 if (!data)
312 return -ENOMEM;
313
314 platform_set_drvdata(pdev, data);
315 data->usbmisc_data = usbmisc_get_init_data(dev);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
This can be error pointers on error or NULL if there is no misc data.
316 if (IS_ERR(data->usbmisc_data))
317 return PTR_ERR(data->usbmisc_data);
318
319 if (of_usb_get_phy_mode(dev->of_node) ==
USBPHY_INTERFACE_MODE_HSIC) {
320 pdata.flags |= CI_HDRC_IMX_IS_HSIC;
321 data->usbmisc_data->hsic = 1;
^^^^^^^^^^^^^^^^^^^^^^^^
Smatch thinks this can be NULL. Smatch doesn't understand enough of the
context here so possibly this is a false positive.
322 data->pinctrl = devm_pinctrl_get(dev);
323 if (IS_ERR(data->pinctrl)) {
324 dev_err(dev, "pinctrl get failed, err=%ld\n",
325 PTR_ERR(data->pinctrl));
326 return PTR_ERR(data->pinctrl);
327 }
regards,
dan carpenter