wifi: mt76: mt7603: disable A-MSDU tx support on MT7628
authorFelix Fietkau <nbd@nbd.name>
Mon, 14 Aug 2023 12:10:51 +0000 (14:10 +0200)
committerFelix Fietkau <nbd@nbd.name>
Sat, 30 Sep 2023 18:03:03 +0000 (20:03 +0200)
It was reported that this can cause the PSE hang issues, even with a low
number of fragments.

Link: https://github.com/openwrt/mt76/issues/793#issuecomment-1676529138
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mac80211.c
drivers/net/wireless/mediatek/mt76/mt7603/init.c

index d158320bc15dbea865cdd891655eb608d999c2c0..db24634e4a089c77ff681c7400dc6248d512c104 100644 (file)
@@ -452,7 +452,8 @@ mt76_phy_init(struct mt76_phy *phy, struct ieee80211_hw *hw)
        ieee80211_hw_set(hw, SUPPORTS_AMSDU_IN_AMPDU);
        ieee80211_hw_set(hw, SUPPORTS_REORDERING_BUFFER);
 
-       if (!(dev->drv->drv_flags & MT_DRV_AMSDU_OFFLOAD)) {
+       if (!(dev->drv->drv_flags & MT_DRV_AMSDU_OFFLOAD) &&
+           hw->max_tx_fragments > 1) {
                ieee80211_hw_set(hw, TX_AMSDU);
                ieee80211_hw_set(hw, TX_FRAG_LIST);
        }
index dd3c96f96999ece0beebf08efeb2247ed16b563e..6c55c72f28a282564ba1f3088262a28cbd621852 100644 (file)
@@ -524,6 +524,7 @@ int mt7603_register_device(struct mt7603_dev *dev)
        hw->max_rates = 3;
        hw->max_report_rates = 7;
        hw->max_rate_tries = 11;
+       hw->max_tx_fragments = 1;
 
        hw->radiotap_timestamp.units_pos =
                IEEE80211_RADIOTAP_TIMESTAMP_UNIT_US;