If the beacon is already enabled, do not modify the beacon timer. This causes
a hard TBTT adjustment and may cause mischief for powersave or synchronization.

Signed-off-by: Marco Porsch <[email protected]>
---
 drivers/net/wireless/mac80211_hwsim.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/wireless/mac80211_hwsim.c 
b/drivers/net/wireless/mac80211_hwsim.c
index bc763d2..abfa7e6 100644
--- a/drivers/net/wireless/mac80211_hwsim.c
+++ b/drivers/net/wireless/mac80211_hwsim.c
@@ -1174,7 +1174,7 @@ static int mac80211_hwsim_config(struct ieee80211_hw *hw, 
u32 changed)
        data->power_level = conf->power_level;
        if (!data->started || !data->beacon_int)
                del_timer(&data->beacon_timer);
-       else
+       else if (!timer_pending(&data->beacon_timer))
                mod_timer(&data->beacon_timer, jiffies + data->beacon_int);
 
        return 0;
-- 
1.7.9.5

_______________________________________________
Devel mailing list
[email protected]
http://lists.open80211s.org/cgi-bin/mailman/listinfo/devel

Reply via email to