wifi: mt76: fix receiving LLC packets on mt7615/mt7915
authorFelix Fietkau <nbd@nbd.name>
Wed, 5 Oct 2022 13:08:23 +0000 (15:08 +0200)
committerKalle Valo <kvalo@kernel.org>
Tue, 11 Oct 2022 08:41:20 +0000 (11:41 +0300)
commit47c44088ac089adfa2f852770ac11e3b7ce8d7c5
tree585d619f04472b20ef81f3526ffa85c6f555e9bf
parent10d5ea5a436da8d60cdb5845f454d595accdbce0
wifi: mt76: fix receiving LLC packets on mt7615/mt7915

When 802.3 decap offload is enabled, the hardware indicates header translation
failure, whenever either the LLC-SNAP header was not found, or a VLAN header
with an unregcognized tag is present.
In that case, the hardware inserts a 2-byte length fields after the MAC
addresses. For VLAN packets, this tag needs to be removed. However,
for 802.3 LLC packets, the length bytes should be preserved, since there
is no separate ethertype field in the data.
This fixes an issue where the length field was omitted for LLC frames, causing
them to be malformed after hardware decap.

Fixes: 1eeff0b4c1a6 ("mt76: mt7915: fix decap offload corner case with 4-addr VLAN frames")
Reported-by: Chad Monroe <chad.monroe@smartrg.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20221005130824.23371-1-nbd@nbd.name
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
drivers/net/wireless/mediatek/mt76/mt7915/mac.c