| From 3496d9a51ede8540e8378dc783535229aeebbc7e Mon Sep 17 00:00:00 2001 |
| From: Peter Chiu <chui-hao.chiu@mediatek.com> |
| Date: Thu, 14 Apr 2022 15:18:02 +0800 |
| Subject: [PATCH 1006/1031] wifi: mt76: mt7915: drop undefined action frame |
| |
| --- |
| mt7915/mac.c | 6 ++++++ |
| 1 file changed, 6 insertions(+) |
| |
| diff --git a/mt7915/mac.c b/mt7915/mac.c |
| index 3773cdc..f26f949 100644 |
| --- a/mt7915/mac.c |
| +++ b/mt7915/mac.c |
| @@ -737,6 +737,8 @@ int mt7915_tx_prepare_skb(struct mt76_dev *mdev, void *txwi_ptr, |
| struct mt76_tx_info *tx_info) |
| { |
| struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)tx_info->skb->data; |
| + struct ieee80211_mgmt *mgmt = (struct ieee80211_mgmt *)tx_info->skb->data; |
| + __le16 fc = hdr->frame_control; |
| struct mt7915_dev *dev = container_of(mdev, struct mt7915_dev, mt76); |
| struct ieee80211_tx_info *info = IEEE80211_SKB_CB(tx_info->skb); |
| struct ieee80211_key_conf *key = info->control.hw_key; |
| @@ -767,6 +769,10 @@ int mt7915_tx_prepare_skb(struct mt76_dev *mdev, void *txwi_ptr, |
| t = (struct mt76_txwi_cache *)(txwi + mdev->drv->txwi_size); |
| t->skb = tx_info->skb; |
| |
| + if (ieee80211_is_action(fc) && |
| + mgmt->u.action.category == 0xff) |
| + return -1; |
| + |
| id = mt76_token_consume(mdev, &t); |
| if (id < 0) |
| return id; |
| -- |
| 2.18.0 |
| |