mt76: mt76x02u: fix possible memory leak in __mt76x02u_mcu_send_msg
authorLorenzo Bianconi <lorenzo@kernel.org>
Tue, 17 May 2022 16:37:07 +0000 (18:37 +0200)
committerFelix Fietkau <nbd@nbd.name>
Mon, 11 Jul 2022 11:40:00 +0000 (13:40 +0200)
Free the skb if mt76u_bulk_msg fails in __mt76x02u_mcu_send_msg routine.

Fixes: 4c89ff2c74e39 ("mt76: split __mt76u_mcu_send_msg and mt76u_mcu_send_msg routines")
Co-developed-by: Gergo Koteles <soyer@irl.hu>
Signed-off-by: Gergo Koteles <soyer@irl.hu>
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt76x02_usb_mcu.c

index 2953df7d8388d0c41e665af5c02bb847b2756e7e..c6c16fe8ee859dd3ae433d42ab3f7ef1fc3ff693 100644 (file)
@@ -108,7 +108,7 @@ __mt76x02u_mcu_send_msg(struct mt76_dev *dev, struct sk_buff *skb,
        ret = mt76u_bulk_msg(dev, skb->data, skb->len, NULL, 500,
                             MT_EP_OUT_INBAND_CMD);
        if (ret)
-               return ret;
+               goto out;
 
        if (wait_resp)
                ret = mt76x02u_mcu_wait_resp(dev, seq);