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, 11 May 2023 14:03:30 +0000 (23:03 +0900)
[ Upstream commit d6f712f53b79f5017cdcefafb7a5aea9ec52da5d ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/usb/chipidea/core.c

index 5abdc2b0f506d860437e4eada09479213b29dff0..71f172ecfaabcba484e0bf7edf75c726a426e77b 100644 (file)
@@ -1101,7 +1101,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;