diff options
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/gpio.c')
| -rw-r--r-- | drivers/net/wireless/ath/ath9k/gpio.c | 9 | 
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/net/wireless/ath/ath9k/gpio.c b/drivers/net/wireless/ath/ath9k/gpio.c index 0ee75e79fe3..3a8ee999da5 100644 --- a/drivers/net/wireless/ath/ath9k/gpio.c +++ b/drivers/net/wireless/ath/ath9k/gpio.c @@ -76,7 +76,8 @@ static void ath_led_brightness(struct led_classdev *led_cdev,  	case LED_FULL:  		if (led->led_type == ATH_LED_ASSOC) {  			sc->sc_flags |= SC_OP_LED_ASSOCIATED; -			ieee80211_queue_delayed_work(sc->hw, +			if (led_blink) +				ieee80211_queue_delayed_work(sc->hw,  						     &sc->ath_led_blink_work, 0);  		} else if (led->led_type == ATH_LED_RADIO) {  			ath9k_hw_set_gpio(sc->sc_ah, sc->sc_ah->led_pin, 0); @@ -143,7 +144,8 @@ void ath_init_leds(struct ath_softc *sc)  	/* LED off, active low */  	ath9k_hw_set_gpio(sc->sc_ah, sc->sc_ah->led_pin, 1); -	INIT_DELAYED_WORK(&sc->ath_led_blink_work, ath_led_blink_work); +	if (led_blink) +		INIT_DELAYED_WORK(&sc->ath_led_blink_work, ath_led_blink_work);  	trigger = ieee80211_get_radio_led_name(sc->hw);  	snprintf(sc->radio_led.name, sizeof(sc->radio_led.name), @@ -180,7 +182,8 @@ void ath_init_leds(struct ath_softc *sc)  	return;  fail: -	cancel_delayed_work_sync(&sc->ath_led_blink_work); +	if (led_blink) +		cancel_delayed_work_sync(&sc->ath_led_blink_work);  	ath_deinit_leds(sc);  }  |