• Johan Almbladh's avatar
    mt76: mt7915: fix injected MPDU transmission to not use HW A-MSDU · 28225a6e
    Johan Almbladh authored
    Before, the hardware would be allowed to transmit injected 802.11 MPDUs
    as A-MSDU. This resulted in corrupted frames being transmitted. Now,
    injected MPDUs are transmitted as-is, without A-MSDU.
    
    The fix was verified with frame injection on MT7915 hardware, both with
    and without the injected frame being encrypted.
    
    If the hardware cannot do A-MSDU aggregation on MPDUs, this problem
    would also be present in the TX path where mac80211 does the 802.11
    encapsulation. However, I have not observed any such problem when
    disabling IEEE80211_HW_SUPPORTS_TX_ENCAP_OFFLOAD to force that mode.
    Therefore this fix is isolated to injected frames only.
    
    The same A-MSDU logic is also present in the mt7921 driver, so it is
    likely that this fix should be applied there too. I do not have access
    to mt7921 hardware so I have not been able to test that.
    Signed-off-by: default avatarJohan Almbladh <johan.almbladh@anyfinetworks.com>
    Signed-off-by: default avatarFelix Fietkau <nbd@nbd.name>
    28225a6e
mac.c 70.5 KB