diff --git a/mt7921/main.c b/mt7921/main.c index 729f6c42..617e48f2 100644 --- a/mt7921/main.c +++ b/mt7921/main.c @@ -296,7 +296,7 @@ static int mt7921_add_interface(struct ieee80211_hw *hw, goto out; if (dev->pm.enable) { - ret = mt7921_mcu_set_bss_pm(dev, vif, true); + ret = mt7921_mcu_uni_bss_bcnft(dev, vif, true); if (ret) goto out; diff --git a/mt7921/mcu.c b/mt7921/mcu.c index db125cd2..d784c75d 100644 --- a/mt7921/mcu.c +++ b/mt7921/mcu.c @@ -1294,8 +1294,14 @@ mt7921_pm_interface_iter(void *priv, u8 *mac, struct ieee80211_vif *vif) { struct mt7921_phy *phy = priv; struct mt7921_dev *dev = phy->dev; + int ret; - if (mt7921_mcu_set_bss_pm(dev, vif, dev->pm.enable)) + if (dev->pm.enable) + ret = mt7921_mcu_uni_bss_bcnft(dev, vif, true); + else + ret = mt7921_mcu_set_bss_pm(dev, vif, false); + + if (ret) return; if (dev->pm.enable) {