From: Reto Schneider <c...@reto-schneider.ch>

[ Upstream commit 03128643eb5453a798db5770952c73dc64fcaf00 ]

If usb_submit_urb fails the allocated urb should be unanchored and
released.

Signed-off-by: Reto Schneider <c...@reto-schneider.ch>
Signed-off-by: Kalle Valo <kv...@codeaurora.org>
Link: https://lore.kernel.org/r/20200622132113.14508-3-c...@reto-schneider.ch
Signed-off-by: Sasha Levin <sas...@kernel.org>
---
 drivers/net/wireless/realtek/rtlwifi/usb.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/net/wireless/realtek/rtlwifi/usb.c 
b/drivers/net/wireless/realtek/rtlwifi/usb.c
index 1893640555c1e..3d6c0d8c71d7e 100644
--- a/drivers/net/wireless/realtek/rtlwifi/usb.c
+++ b/drivers/net/wireless/realtek/rtlwifi/usb.c
@@ -739,8 +739,11 @@ static int _rtl_usb_receive(struct ieee80211_hw *hw)
 
                usb_anchor_urb(urb, &rtlusb->rx_submitted);
                err = usb_submit_urb(urb, GFP_KERNEL);
-               if (err)
+               if (err) {
+                       usb_unanchor_urb(urb);
+                       usb_free_urb(urb);
                        goto err_out;
+               }
                usb_free_urb(urb);
        }
        return 0;
-- 
2.25.1



Reply via email to