From: Felix Fietkau Date: Mon, 8 Oct 2018 08:39:24 +0000 (+0200) Subject: mt76: do not store aggregation sequence number for null-data frames X-Git-Tag: v5.15~7641^2~84^2~1^2~16 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5155938d8a0fe0e0251435cae02539e81fb8e407;p=platform%2Fkernel%2Flinux-starfive.git mt76: do not store aggregation sequence number for null-data frames Fixes a rare corner case where a BlockAckReq might get the wrong sequence number. Signed-off-by: Felix Fietkau --- diff --git a/drivers/net/wireless/mediatek/mt76/tx.c b/drivers/net/wireless/mediatek/mt76/tx.c index bf0e9e6..7cbce03 100644 --- a/drivers/net/wireless/mediatek/mt76/tx.c +++ b/drivers/net/wireless/mediatek/mt76/tx.c @@ -96,7 +96,8 @@ mt76_check_agg_ssn(struct mt76_txq *mtxq, struct sk_buff *skb) { struct ieee80211_hdr *hdr = (struct ieee80211_hdr *) skb->data; - if (!ieee80211_is_data_qos(hdr->frame_control)) + if (!ieee80211_is_data_qos(hdr->frame_control) || + !ieee80211_is_data_present(hdr->frame_control)) return; mtxq->agg_ssn = le16_to_cpu(hdr->seq_ctrl) + 0x10;