diff options
author | Jouni Malinen <jouni.malinen@atheros.com> | 2009-03-03 18:23:39 +0100 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-03-05 20:39:48 +0100 |
commit | f98c3bd24161e9aaa73b9cd4dc6b1742c085ac17 (patch) | |
tree | 82a34790535b773f8d2d6b59a715385dc40b3ef9 /drivers/net/wireless/ath9k/main.c | |
parent | ath9k: Special processing for channel changes during scan (diff) | |
download | linux-f98c3bd24161e9aaa73b9cd4dc6b1742c085ac17.tar.xz linux-f98c3bd24161e9aaa73b9cd4dc6b1742c085ac17.zip |
ath9k: Add a simple virtual wiphy scheduler
This is a very simple scheduler that goes through the wiphys and
schedules one at a time every N milliseconds (current default value:
500 ms). This is enough for initial testing, but there are number of
areas where a more complex scheduler can improve operations greatly.
Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath9k/main.c')
-rw-r--r-- | drivers/net/wireless/ath9k/main.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath9k/main.c b/drivers/net/wireless/ath9k/main.c index 626392241d43..f473fee72a2e 100644 --- a/drivers/net/wireless/ath9k/main.c +++ b/drivers/net/wireless/ath9k/main.c @@ -1325,6 +1325,7 @@ void ath_detach(struct ath_softc *sc) #endif ath_deinit_leds(sc); cancel_work_sync(&sc->chan_work); + cancel_delayed_work_sync(&sc->wiphy_work); for (i = 0; i < sc->num_sec_wiphy; i++) { struct ath_wiphy *aphy = sc->sec_wiphy[i]; @@ -1672,6 +1673,8 @@ int ath_attach(u16 devid, struct ath_softc *sc) ath9k_reg_apply_world_flags(hw->wiphy, REGDOM_SET_BY_INIT); INIT_WORK(&sc->chan_work, ath9k_wiphy_chan_work); + INIT_DELAYED_WORK(&sc->wiphy_work, ath9k_wiphy_work); + sc->wiphy_scheduler_int = msecs_to_jiffies(500); error = ieee80211_register_hw(hw); |