• Sujith Manoharan's avatar
    ath9k: Fix beacon configuration for channel contexts · 12a1b3d4
    Sujith Manoharan authored
    In channel context mode, when a new context is added,
    mac80211 issues a bss_info_changed() notfication when
    preparing the connection for the new interface/context.
    
    But, this is done prior to the mgd_prepare_tx() call which
    is where we switch to the new context. Since the current
    context will be different when the earlier bss_info_changed()
    is handled, the beacon information for the VIF is not
    updated, but discarded since the rules for the current context
    disallows it.
    
    In the subsequent association process for the new context/vif,
    this becomes a problem because the beacon parameters are invalid.
    This causes problems with the TSF timer, causing large jumps.
    
    To fix this, check if the beacon info is being updated for a
    different context and if so, allow it without any checks since
    we limit the max. interfaces to two anyway.
    Signed-off-by: default avatarSujith Manoharan <c_manoha@qca.qualcomm.com>
    Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
    12a1b3d4
beacon.c 19 KB