> > diff --git a/drivers/usb/chipidea/ci_hdrc_msm.c > b/drivers/usb/chipidea/ci_hdrc_msm.c > index 880009987460..813673eee815 100644 > --- a/drivers/usb/chipidea/ci_hdrc_msm.c > +++ b/drivers/usb/chipidea/ci_hdrc_msm.c > @@ -250,6 +250,10 @@ static int ci_hdrc_msm_probe(struct platform_device > *pdev) > ulpi_node = of_get_child_by_name(pdev->dev.of_node, "ulpi"); > if (ulpi_node) { > phy_node = of_get_next_available_child(ulpi_node, NULL); > + if (!phy_node) { > + ret = -EINVAL; > + goto err_mux; > + } You may need to call of_node_put(ulpi_node) before goto, I commented it before. Peter > ci->hsic = of_device_is_compatible(phy_node, "qcom,usb-hsic-phy"); > of_node_put(phy_node); > } > -- > 2.17.1