usb: bdc: Fix an error handling path in 'bdc_probe()' when no suitable DMA config...
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Wed, 18 Aug 2021 19:32:38 +0000 (21:32 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 15 Sep 2021 07:47:37 +0000 (09:47 +0200)
[ Upstream commit d2f42e09393c774ab79088d8e3afcc62b3328fc9 ]

If no suitable DMA configuration is available, a previous 'bdc_phy_init()'
call must be undone by a corresponding 'bdc_phy_exit()' call.

Branch to the existing error handling path instead of returning
directly.

Fixes: cc29d4f67757 ("usb: bdc: Add support for USB phy")
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Link: https://lore.kernel.org/r/0c5910979f39225d5d8fe68c9ab1c147c68ddee1.1629314734.git.christophe.jaillet@wanadoo.fr
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/usb/gadget/udc/bdc/bdc_core.c

index 3d33499db50b5e62540a899dcae16ec20662e694..845aead48d85ba86bad535eddf359e420eac6db1 100644 (file)
@@ -565,7 +565,8 @@ static int bdc_probe(struct platform_device *pdev)
                if (ret) {
                        dev_err(dev,
                                "No suitable DMA config available, abort\n");
-                       return -ENOTSUPP;
+                       ret = -ENOTSUPP;
+                       goto phycleanup;
                }
                dev_dbg(dev, "Using 32-bit address\n");
        }