Commit d4d2e532 authored by Dan Carpenter's avatar Dan Carpenter Committed by Greg Kroah-Hartman
Browse files

usb: chipidea: ci_hdrc_imx: fix potential error pointer dereference in probe



If the first call to devm_usb_get_phy_by_phandle(dev, "fsl,usbphy", 0)
fails with something other than -ENODEV then it leads to an error
pointer dereference.  For those errors we should just jump directly to
the error handling.

Fixes: 8253a34b ("usb: chipidea: ci_hdrc_imx: Also search for 'phys' phandle")
Cc: stable <stable@vger.kernel.org>
Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
Link: https://lore.kernel.org/r/20211117074923.GF5237@kili


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 6ae6dc22
Loading
Loading
Loading
Loading
+9 −9
Original line number Diff line number Diff line
@@ -420,7 +420,8 @@ static int ci_hdrc_imx_probe(struct platform_device *pdev)
	data->phy = devm_usb_get_phy_by_phandle(dev, "fsl,usbphy", 0);
	if (IS_ERR(data->phy)) {
		ret = PTR_ERR(data->phy);
		if (ret == -ENODEV) {
		if (ret != -ENODEV)
			goto err_clk;
		data->phy = devm_usb_get_phy_by_phandle(dev, "phys", 0);
		if (IS_ERR(data->phy)) {
			ret = PTR_ERR(data->phy);
@@ -430,7 +431,6 @@ static int ci_hdrc_imx_probe(struct platform_device *pdev)
				goto err_clk;
		}
	}
	}

	pdata.usb_phy = data->phy;
	if (data->usbmisc_data)