summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@nbd.name>2019-02-24 15:03:18 +0300
committerFelix Fietkau <nbd@nbd.name>2019-02-26 12:28:19 +0300
commit90f42f2d76d0ed29553cf0167bc8e86c22e5a214 (patch)
tree6e287ce734e37ba2d1fc32b48f9cd78c0723d238
parented55c9b9c13e3c30ed644a6ace02fd9fd6b70a45 (diff)
downloadlinux-90f42f2d76d0ed29553cf0167bc8e86c22e5a214.tar.xz
mt76: mt76x02: only reset beacon drift counter when enabling beacons
When the timer is already running, there is no need to reset the counter, because the drift will remain the same. Signed-off-by: Felix Fietkau <nbd@nbd.name>
-rw-r--r--drivers/net/wireless/mediatek/mt76/mt76x02_mac.c3
-rw-r--r--drivers/net/wireless/mediatek/mt76/mt76x02_util.c1
2 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/wireless/mediatek/mt76/mt76x02_mac.c b/drivers/net/wireless/mediatek/mt76/mt76x02_mac.c
index be2979f34f31..82b178fa83bb 100644
--- a/drivers/net/wireless/mediatek/mt76/mt76x02_mac.c
+++ b/drivers/net/wireless/mediatek/mt76/mt76x02_mac.c
@@ -1126,6 +1126,9 @@ void mt76x02_mac_set_beacon_enable(struct mt76x02_dev *dev,
else if (val)
skb = ieee80211_beacon_get(mt76_hw(dev), vif);
+ if (!dev->beacon_mask)
+ dev->tbtt_count = 0;
+
__mt76x02_mac_set_beacon_enable(dev, vif_idx, val, skb);
if (mt76_is_mmio(dev))
diff --git a/drivers/net/wireless/mediatek/mt76/mt76x02_util.c b/drivers/net/wireless/mediatek/mt76/mt76x02_util.c
index 2e899d30e00d..a48c261b0c63 100644
--- a/drivers/net/wireless/mediatek/mt76/mt76x02_util.c
+++ b/drivers/net/wireless/mediatek/mt76/mt76x02_util.c
@@ -713,7 +713,6 @@ void mt76x02_bss_info_changed(struct ieee80211_hw *hw,
MT_BEACON_TIME_CFG_INTVAL,
info->beacon_int << 4);
dev->beacon_int = info->beacon_int;
- dev->tbtt_count = 0;
}
if (changed & BSS_CHANGED_BEACON_ENABLED)