usb: chipidea: fix missing goto in `ci_hdrc_probe`
authorYinhao Hu <dddddd@hust.edu.cn>
Wed, 12 Apr 2023 05:58:52 +0000 (13:58 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 20 Apr 2023 09:16:42 +0000 (11:16 +0200)
From the comment of ci_usb_phy_init, it returns an error code if
usb_phy_init has failed, and it should do some clean up, not just
return directly.

Fix this by goto the error handling.

Fixes: 74475ede784d ("usb: chipidea: move PHY operation to core")
Reviewed-by: Dongliang Mu <dzm91@hust.edu.cn>
Acked-by: Peter Chen <peter.chen@kernel.org>
Signed-off-by: Yinhao Hu <dddddd@hust.edu.cn>
Link: https://lore.kernel.org/r/20230412055852.971991-1-dddddd@hust.edu.cn
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/chipidea/core.c

index d1d252c..798cb07 100644 (file)
@@ -1108,7 +1108,7 @@ static int ci_hdrc_probe(struct platform_device *pdev)
        ret = ci_usb_phy_init(ci);
        if (ret) {
                dev_err(dev, "unable to init phy: %d\n", ret);
-               return ret;
+               goto ulpi_exit;
        }
 
        ci->hw_bank.phys = res->start;