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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 17 Aug 2022 12:23:29 +0000 (14:23 +0200)
[ Upstream commit cffd93411575afd987788e2ec3cb8eaff70f0215 ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/wireless/mediatek/mt76/mt76x02_usb_mcu.c

index 2953df7..c6c16fe 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);