Commit bdeac781 authored by Felix Fietkau's avatar Felix Fietkau
Browse files

wifi: mt76: free pending offchannel tx frames on wcid cleanup

Avoid leaking them or keeping the wcid on the tx list

Fixes: 0b3be9d1 ("wifi: mt76: add separate tx scheduling queue for off-channel tx")
Link: https://patch.msgid.link/20250827085352.51636-5-nbd@nbd.name


Signed-off-by: default avatarFelix Fietkau <nbd@nbd.name>
parent 065c79df
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -1716,6 +1716,10 @@ void mt76_wcid_cleanup(struct mt76_dev *dev, struct mt76_wcid *wcid)
	skb_queue_splice_tail_init(&wcid->tx_pending, &list);
	spin_unlock(&wcid->tx_pending.lock);

	spin_lock(&wcid->tx_offchannel.lock);
	skb_queue_splice_tail_init(&wcid->tx_offchannel, &list);
	spin_unlock(&wcid->tx_offchannel.lock);

	spin_unlock_bh(&phy->tx_lock);

	while ((skb = __skb_dequeue(&list)) != NULL) {