diff options
Diffstat (limited to 'drivers/net/wireless/ath/ath5k/base.c')
-rw-r--r-- | drivers/net/wireless/ath/ath5k/base.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath5k/base.c b/drivers/net/wireless/ath/ath5k/base.c index 85a00db4867d..f55675c23f2e 100644 --- a/drivers/net/wireless/ath/ath5k/base.c +++ b/drivers/net/wireless/ath/ath5k/base.c | |||
@@ -2360,6 +2360,8 @@ ath5k_init(struct ath5k_softc *sc) | |||
2360 | if (ret) | 2360 | if (ret) |
2361 | goto done; | 2361 | goto done; |
2362 | 2362 | ||
2363 | ath5k_rfkill_hw_start(ah); | ||
2364 | |||
2363 | /* | 2365 | /* |
2364 | * Reset the key cache since some parts do not reset the | 2366 | * Reset the key cache since some parts do not reset the |
2365 | * contents on initial power up or resume from suspend. | 2367 | * contents on initial power up or resume from suspend. |
@@ -2468,6 +2470,8 @@ ath5k_stop_hw(struct ath5k_softc *sc) | |||
2468 | tasklet_kill(&sc->restq); | 2470 | tasklet_kill(&sc->restq); |
2469 | tasklet_kill(&sc->beacontq); | 2471 | tasklet_kill(&sc->beacontq); |
2470 | 2472 | ||
2473 | ath5k_rfkill_hw_stop(sc->ah); | ||
2474 | |||
2471 | return ret; | 2475 | return ret; |
2472 | } | 2476 | } |
2473 | 2477 | ||
@@ -2526,6 +2530,12 @@ ath5k_intr(int irq, void *dev_id) | |||
2526 | */ | 2530 | */ |
2527 | ath5k_hw_update_mib_counters(ah, &sc->ll_stats); | 2531 | ath5k_hw_update_mib_counters(ah, &sc->ll_stats); |
2528 | } | 2532 | } |
2533 | #ifdef CONFIG_ATH5K_RFKILL | ||
2534 | if (status & AR5K_INT_GPIO) | ||
2535 | { | ||
2536 | tasklet_schedule(&sc->rf_kill.toggleq); | ||
2537 | } | ||
2538 | #endif | ||
2529 | } | 2539 | } |
2530 | } while (ath5k_hw_is_intr_pending(ah) && --counter > 0); | 2540 | } while (ath5k_hw_is_intr_pending(ah) && --counter > 0); |
2531 | 2541 | ||