• Johannes Berg's avatar
    mac80211_hwsim: fix beacon timers · 56067628
    Johannes Berg authored
    Jouni reported that certain combinations of hwsim test cases failed,
    and we found that beaconing was erroneously enabled too early on any
    channel switch, which lead to the BI of 2000 TU from the first test
    case to leak into the second one, which then didn't beacon properly.
    
    To fix this, set data->beacon_int to zero when all stop beaconing so
    that beaconing cannot be started (which was intended as 'restarted')
    elsewhere.
    
    Additionally, Jouni found that due to this 'restart' and the beacon
    interval handling station interfaces would also have a needlessly
    running beacon timer all the time, of course not doing anything.
    
    To also fix the latter case only use the beacon interval when it's
    actually needed, i.e. when beaconing gets enabled.
    Reported-by: default avatarJouni Malinen <j@w1.fi>
    Tested-by: default avatarJouni Malinen <j@w1.fi>
    Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
    56067628
mac80211_hwsim.c 87.1 KB