From: zhongjupeng <zhongjup...@yulong.com>

In btusb_mtk_wmt_recv if skb_clone fails, the alocated skb should be
released.

Signed-off-by: zhongjupeng <zhongjup...@yulong.com>
---
 drivers/bluetooth/btusb.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
index ffec6bc..cf21bba 100644
--- a/drivers/bluetooth/btusb.c
+++ b/drivers/bluetooth/btusb.c
@@ -3217,8 +3217,10 @@ static void btusb_mtk_wmt_recv(struct urb *urb)
                 */
                if (test_bit(BTUSB_TX_WAIT_VND_EVT, &data->flags)) {
                        data->evt_skb = skb_clone(skb, GFP_ATOMIC);
-                       if (!data->evt_skb)
+                       if (!data->evt_skb) {
+                               kfree_skb(skb);
                                goto err_out;
+                       }
                }
 
                err = hci_recv_frame(hdev, skb);
-- 
1.9.1


Reply via email to