mirror of
https://github.com/outbackdingo/mt76.git
synced 2026-10-24 13:26:48 +00:00
mt7603: fix handling of rx header padding
Signed-off-by: Felix Fietkau <[email protected]>
This commit is contained in:
+4
-1
@@ -141,6 +141,7 @@ mt7603_mac_fill_rx(struct mt7603_dev *dev, struct sk_buff *skb)
|
||||
struct ieee80211_supported_band *sband;
|
||||
__le32 *rxd = (__le32 *) skb->data;
|
||||
u32 rxd0 = le32_to_cpu(rxd[0]);
|
||||
bool remove_pad;
|
||||
int i;
|
||||
|
||||
memset(status, 0, sizeof(*status));
|
||||
@@ -161,6 +162,8 @@ mt7603_mac_fill_rx(struct mt7603_dev *dev, struct sk_buff *skb)
|
||||
!(rxd[2] & (MT_RXD2_NORMAL_CLM | MT_RXD2_NORMAL_CM)))
|
||||
status->rx_flags |= RX_FLAG_DECRYPTED;
|
||||
|
||||
remove_pad = rxd[1] & MT_RXD1_NORMAL_HDR_OFFSET;
|
||||
|
||||
if (rxd[2] & MT_RXD2_NORMAL_MAX_LEN_ERROR)
|
||||
return -EINVAL;
|
||||
|
||||
@@ -218,7 +221,7 @@ mt7603_mac_fill_rx(struct mt7603_dev *dev, struct sk_buff *skb)
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
skb_pull(skb, (u8 *) rxd - skb->data);
|
||||
skb_pull(skb, (u8 *) rxd - skb->data + 2 * remove_pad);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user