wifi: mt76: mt7996: remove mt7996_mcu_set_pm()
authorPeter Chiu <chui-hao.chiu@mediatek.com>
Fri, 3 Mar 2023 08:35:57 +0000 (16:35 +0800)
committerFelix Fietkau <nbd@nbd.name>
Mon, 17 Apr 2023 14:08:48 +0000 (16:08 +0200)
Currently using BSS_INFO_PS command will sometimes cause packet drop in
hw rx queue.
Temporarily remove this function until finding the cause.

Signed-off-by: Peter Chiu <chui-hao.chiu@mediatek.com>
Signed-off-by: Shayne Chen <shayne.chen@mediatek.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt7996/main.c
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h

index 9d67fcaf24287cb9a4c780cb2f99ca84068b3c83..33e76a97f46ba630ff0da19a80ddc31b6378eef5 100644 (file)
@@ -52,10 +52,6 @@ static int mt7996_start(struct ieee80211_hw *hw)
 
        set_bit(MT76_STATE_RUNNING, &phy->mt76->state);
 
-       ieee80211_iterate_interfaces(dev->mt76.hw,
-                                    IEEE80211_IFACE_ITER_RESUME_ALL,
-                                    mt7996_mcu_set_pm, dev->mt76.hw);
-
        ieee80211_queue_delayed_work(hw, &phy->mt76->mac_work,
                                     MT7996_WATCHDOG_TIME);
 
@@ -79,10 +75,6 @@ static void mt7996_stop(struct ieee80211_hw *hw)
 
        clear_bit(MT76_STATE_RUNNING, &phy->mt76->state);
 
-       ieee80211_iterate_interfaces(dev->mt76.hw,
-                                    IEEE80211_IFACE_ITER_RESUME_ALL,
-                                    mt7996_mcu_set_pm, dev->mt76.hw);
-
        mutex_unlock(&dev->mt76.mutex);
 }
 
index 29ff4c191a3c70ca11d358fa285f81f9e0371430..2a66ac546513a27b0e8642fb78605b5ec289a366 100644 (file)
@@ -3478,32 +3478,6 @@ int mt7996_mcu_twt_agrt_update(struct mt7996_dev *dev,
                                 &req, sizeof(req), true);
 }
 
-void mt7996_mcu_set_pm(void *priv, u8 *mac, struct ieee80211_vif *vif)
-{
-#define EXIT_PM_STATE  0
-#define ENTER_PM_STATE 1
-       struct ieee80211_hw *hw = priv;
-       struct mt7996_dev *dev = mt7996_hw_dev(hw);
-       struct mt7996_phy *phy = mt7996_hw_phy(hw);
-       struct mt7996_vif *mvif = (struct mt7996_vif *)vif->drv_priv;
-       struct bss_power_save *ps;
-       struct sk_buff *skb;
-       struct tlv *tlv;
-       bool running = test_bit(MT76_STATE_RUNNING, &phy->mt76->state);
-
-       skb = __mt7996_mcu_alloc_bss_req(&dev->mt76, &mvif->mt76,
-                                        MT7996_BSS_UPDATE_MAX_SIZE);
-       if (IS_ERR(skb))
-               return;
-
-       tlv = mt7996_mcu_add_uni_tlv(skb, UNI_BSS_INFO_PS, sizeof(*ps));
-       ps = (struct bss_power_save *)tlv;
-       ps->profile = running ? EXIT_PM_STATE : ENTER_PM_STATE;
-
-       mt76_mcu_skb_send_msg(&dev->mt76, skb,
-                             MCU_WMWA_UNI_CMD(BSS_INFO_UPDATE), true);
-}
-
 int mt7996_mcu_set_rts_thresh(struct mt7996_phy *phy, u32 val)
 {
        struct {
index 569d9f6ee1d00474606f26a427a0ffc6b2813e20..5463ce77a1a0333c7c7a6c3e6cb511c47aa70ecd 100644 (file)
@@ -416,7 +416,6 @@ int mt7996_mcu_set_pulse_th(struct mt7996_dev *dev,
 int mt7996_mcu_set_radar_th(struct mt7996_dev *dev, int index,
                            const struct mt7996_dfs_pattern *pattern);
 int mt7996_mcu_set_radio_en(struct mt7996_phy *phy, bool enable);
-void mt7996_mcu_set_pm(void *priv, u8 *mac, struct ieee80211_vif *vif);
 int mt7996_mcu_set_rts_thresh(struct mt7996_phy *phy, u32 val);
 int mt7996_mcu_get_chan_mib_info(struct mt7996_phy *phy, bool chan_switch);
 int mt7996_mcu_rdd_cmd(struct mt7996_dev *dev, int cmd, u8 index,