• Thomas Pedersen's avatar
    mac80211: update adjusting TBTT bit in beacon · 43552be1
    Thomas Pedersen authored
    This regression was introduced in "mac80211: cache mesh
    mesh_sync_offset_adjust_tbtt()  was assuming that the
    beacon would be rebuilt in every single pre-tbtt
    interrupt, but now the beacon update happens on the
    workqueue, and it must be ready for immediate delivery to
    the driver.
    Save a pointer to the meshconf IE in the beacon_data (this
    works because both the IE pointer and beacon buffer are
    protected by the same rcu_{dereference,assign_pointer}())
    for quick updates during pre-tbtt. This is faster and a
    little prettier than iterating over the elements to find
    the meshconf IE every time.
    Signed-off-by: default avatarThomas Pedersen <thomas@cozybit.com>
    Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
mesh_sync.c 6.72 KB