r8152: Run the unload routine if we have errors during probe
authorDouglas Anderson <dianders@chromium.org>
Fri, 20 Oct 2023 21:06:53 +0000 (14:06 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 2 Nov 2023 08:35:27 +0000 (09:35 +0100)
[ Upstream commit 5dd17689526971c5ae12bc8398f34bd68cd0499e ]

The rtl8152_probe() function lacks a call to the chip-specific
unload() routine when it sees an error in probe. Add it in to match
the cleanup code in rtl8152_disconnect().

Fixes: ac718b69301c ("net/usb: new driver for RTL8152")
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Reviewed-by: Grant Grundler <grundler@chromium.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/usb/r8152.c

index 4c90f7053171c13c866ae4fb77d6a70d5c95e596..3cc8e324c5c6c4b2f64802c8a7c04dee89c7e876 100644 (file)
@@ -9826,6 +9826,8 @@ static int rtl8152_probe(struct usb_interface *intf,
 
 out1:
        tasklet_kill(&tp->tx_tl);
+       if (tp->rtl_ops.unload)
+               tp->rtl_ops.unload(tp);
        usb_set_intfdata(intf, NULL);
 out:
        free_netdev(netdev);