From: Bo Jiao <Bo.Jiao@xxxxxxxxxxxx> there is no need to report to the mac80211 layer the ACK policy which may cause rx out-of-order issue, because the hardware rmac module already handle it Signed-off-by: Bo Jiao <Bo.Jiao@xxxxxxxxxxxx> --- drivers/net/wireless/mediatek/mt76/mt7915/mac.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/net/wireless/mediatek/mt76/mt7915/mac.c b/drivers/net/wireless/mediatek/mt76/mt7915/mac.c index b47aea6..5080280 100644 --- a/drivers/net/wireless/mediatek/mt76/mt7915/mac.c +++ b/drivers/net/wireless/mediatek/mt76/mt7915/mac.c @@ -675,6 +675,11 @@ mt7915_mac_fill_rx(struct mt7915_dev *dev, struct sk_buff *skb) fc = cpu_to_le16(FIELD_GET(MT_RXD6_FRAME_CONTROL, v0)); qos_ctl = FIELD_GET(MT_RXD8_QOS_CTL, v2); + /* + * there is no need to report the ACK policy to the + * mac80211 layer, because hw has already processed it. + */ + qos_ctl &= ~IEEE80211_QOS_CTL_ACK_POLICY_MASK; seq_ctrl = FIELD_GET(MT_RXD8_SEQ_CTRL, v2); rxd += 4; -- 2.18.0