• Bob Copeland's avatar
    ath5k: rework beacon configuration · 21800491
    Bob Copeland authored
    Using the enable_beacon flag allows some simplifications and fixes
    some corner cases in beacon handling.  This change adds a state
    variable for beaconing in ath5k_beacon_config and handles both
    enabling and disabling, thus eliminating the need for
    ath5k_beacon_disable.  We also now configure the beacon when any
    of the beacon parameters change, so ath5k_beacon_reconfig is no
    longer needed (its mmiowb gets moved to ath5k_beacon_config).
    Finally, by locking around the whole config function, we don't
    need to worry about clearing the interrupt mask register before
    installing the new mask.
    
    The upshot is this correctly disables beaconing when the interfaces
    are taken down, it fixes a potential restarting of beaconing
    when ath5k_reset() is called, and ensures that updates to the
    beacon interval take effect immediately.
    Signed-off-by: default avatarBob Copeland <me@bobcopeland.com>
    Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
    21800491
base.c 85.6 KB