]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
usb: ohci-nxp: fix device leak on probe failure
authorJohan Hovold <johan@kernel.org>
Thu, 18 Dec 2025 15:35:17 +0000 (16:35 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 23 Dec 2025 14:48:46 +0000 (15:48 +0100)
Make sure to drop the reference taken when looking up the PHY I2C device
during probe on probe failure (e.g. probe deferral) and on driver
unbind.

Fixes: 73108aa90cbf ("USB: ohci-nxp: Use isp1301 driver")
Cc: stable@vger.kernel.org # 3.5
Reported-by: Ma Ke <make24@iscas.ac.cn>
Link: https://lore.kernel.org/lkml/20251117013428.21840-1-make24@iscas.ac.cn/
Signed-off-by: Johan Hovold <johan@kernel.org>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Reviewed-by: Vladimir Zapolskiy <vz@mleia.com>
Link: https://patch.msgid.link/20251218153519.19453-4-johan@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/host/ohci-nxp.c

index 24d5a1dc5056047e20b3debc57001325db196bf6..509ca7d8d513802fdcd1781fb3a78394f51bc9a6 100644 (file)
@@ -223,6 +223,7 @@ static int ohci_hcd_nxp_probe(struct platform_device *pdev)
 fail_resource:
        usb_put_hcd(hcd);
 fail_disable:
+       put_device(&isp1301_i2c_client->dev);
        isp1301_i2c_client = NULL;
        return ret;
 }
@@ -234,6 +235,7 @@ static void ohci_hcd_nxp_remove(struct platform_device *pdev)
        usb_remove_hcd(hcd);
        ohci_nxp_stop_hc();
        usb_put_hcd(hcd);
+       put_device(&isp1301_i2c_client->dev);
        isp1301_i2c_client = NULL;
 }