diff --git a/mt7921/mac.c b/mt7921/mac.c index b89ab5529..9673d06a1 100644 --- a/mt7921/mac.c +++ b/mt7921/mac.c @@ -1504,8 +1504,10 @@ void mt7921_coredump_work(struct work_struct *work) break; skb_pull(skb, sizeof(struct mt7921_mcu_rxd)); - if (data + skb->len - dump > MT76_CONNAC_COREDUMP_SZ) - break; + if (data + skb->len - dump > MT76_CONNAC_COREDUMP_SZ) { + dev_kfree_skb(skb); + continue; + } memcpy(data, skb->data, skb->len); data += skb->len;