[PATCH AUTOSEL 5.10 2/2] mfd: dln2: Fix memory leak in dln2_probe()

From: Sasha Levin
Date: Wed May 10 2023 - 16:53:55 EST


From: Qiang Ning <qning0106@xxxxxxx>

[ Upstream commit 96da8f148396329ba769246cb8ceaa35f1ddfc48 ]

When dln2_setup_rx_urbs() in dln2_probe() fails, error out_free forgets
to call usb_put_dev() to decrease the refcount of dln2->usb_dev.

Fix this by adding usb_put_dev() in the error handling code of
dln2_probe().

Signed-off-by: Qiang Ning <qning0106@xxxxxxx>
Signed-off-by: Lee Jones <lee@xxxxxxxxxx>
Link: https://lore.kernel.org/r/20230330024353.4503-1-qning0106@xxxxxxx
Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>
---
drivers/mfd/dln2.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/mfd/dln2.c b/drivers/mfd/dln2.c
index 852129ea07666..fc65f9e25fda8 100644
--- a/drivers/mfd/dln2.c
+++ b/drivers/mfd/dln2.c
@@ -836,6 +836,7 @@ static int dln2_probe(struct usb_interface *interface,
dln2_stop_rx_urbs(dln2);

out_free:
+ usb_put_dev(dln2->usb_dev);
dln2_free(dln2);

return ret;
--
2.39.2