brcmfmac: Fix glob_skb leak in brcmf_sdiod_recv_chain
[firefly-linux-kernel-4.4.55.git] / drivers / net / wireless / brcm80211 / brcmfmac / bcmsdh.c
index 410a6645d316ec1c2cf5d09b54847e918dde0045..59cef6c69fe86a99623b8dc490d7c38c34bb581f 100644 (file)
@@ -726,8 +726,10 @@ int brcmf_sdiod_recv_chain(struct brcmf_sdio_dev *sdiodev,
                        return -ENOMEM;
                err = brcmf_sdiod_buffrw(sdiodev, SDIO_FUNC_2, false, addr,
                                         glom_skb);
-               if (err)
+               if (err) {
+                       brcmu_pkt_buf_free_skb(glom_skb);
                        goto done;
+               }
 
                skb_queue_walk(pktq, skb) {
                        memcpy(skb->data, glom_skb->data, skb->len);