|
@@ -101,9 +101,12 @@ static void ar9170_led_brightness_set(struct led_classdev *led,
|
|
|
struct ar9170_led *arl = container_of(led, struct ar9170_led, l);
|
|
|
struct ar9170 *ar = arl->ar;
|
|
|
|
|
|
- arl->toggled++;
|
|
|
+ if (arl->last_state != !!brightness) {
|
|
|
+ arl->toggled++;
|
|
|
+ arl->last_state = !!brightness;
|
|
|
+ }
|
|
|
|
|
|
- if (likely(IS_ACCEPTING_CMD(ar) && brightness))
|
|
|
+ if (likely(IS_ACCEPTING_CMD(ar) && arl->toggled))
|
|
|
queue_delayed_work(ar->hw->workqueue, &ar->led_work, HZ/10);
|
|
|
}
|
|
|
|