• Emmanuel Grumbach's avatar
    cfg80211: allow the low level driver to flush the BSS table · 2f1805ea
    Emmanuel Grumbach authored
    The low level driver adds its own opaque information
    in the BSS table in the cfg80211_bss structure.
    
    The low level driver may need to signal that this information
    is no longer relevant and needs to be recreated.
    Add an API to allow the low level driver to do that.
    
    iwlwifi needs this because it keeps there an information about
    the firmware's internal clock. This is kept in mac80211's
    struct ieee80211_bss::sync_device_ts.
    This information is populated while we scan, we add the
    internal firmware's clock to each beacon which allows us to
    program the firmware correctly after association so that
    it'll know when (in terms of its internal clock) the DTIM
    and TBTT will happen.
    
    When the firmware is reset this internal clock is reset as
    well and ieee80211_bss::sync_device_ts is no longer accurate.
    
    iwlwifi will call this new API any time the firmware is started.
    Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
    Link: https://lore.kernel.org/r/20200625111524.3992-1-emmanuel.grumbach@intel.comSigned-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
    2f1805ea
scan.c 68.3 KB