ath9k: Fix the LED behaviour in idle unassociated state.
authorVivek Natarajan <vnatarajan@atheros.com>
Wed, 23 Jun 2010 06:38:29 +0000 (12:08 +0530)
committerJohn W. Linville <linville@tuxdriver.com>
Wed, 14 Jul 2010 17:52:44 +0000 (13:52 -0400)
LED should be ON when the radio is put into FULL SLEEP mode during the idle
unassociated state.

Signed-off-by: Vivek Natarajan <vnatarajan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/main.c

index 4c0831ff6e921f3f00594223287cfa1596bf6459..56d4a93cd8e518d500fd40de4daef026aee070e4 100644 (file)
@@ -857,9 +857,14 @@ void ath_radio_disable(struct ath_softc *sc, struct ieee80211_hw *hw)
        ath9k_ps_wakeup(sc);
        ieee80211_stop_queues(hw);
 
-       /* Disable LED */
-       ath9k_hw_set_gpio(ah, ah->led_pin, 1);
-       ath9k_hw_cfg_gpio_input(ah, ah->led_pin);
+       /*
+        * Keep the LED on when the radio is disabled
+        * during idle unassociated state.
+        */
+       if (!sc->ps_idle) {
+               ath9k_hw_set_gpio(ah, ah->led_pin, 1);
+               ath9k_hw_cfg_gpio_input(ah, ah->led_pin);
+       }
 
        /* Disable interrupts */
        ath9k_hw_set_interrupts(ah, 0);