From 8782ba756f70c94597cc8ffe320af31b91a79077 Mon Sep 17 00:00:00 2001 From: Christian Lamparter Date: Mon, 25 May 2009 21:51:19 +0200 Subject: [PATCH] --- yaml --- r: 150674 b: refs/heads/master c: 2431fe9a4b43ccf03589fa661662da6bfbd97282 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/net/wireless/ath/ar9170/ar9170.h | 1 + trunk/drivers/net/wireless/ath/ar9170/led.c | 7 +++++-- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 6db6f1208eea..f20e240d4f39 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 95cf8769bba6ea595994f786ea63f7e2948133de +refs/heads/master: 2431fe9a4b43ccf03589fa661662da6bfbd97282 diff --git a/trunk/drivers/net/wireless/ath/ar9170/ar9170.h b/trunk/drivers/net/wireless/ath/ar9170/ar9170.h index 1247dcb9081a..396b24016f5e 100644 --- a/trunk/drivers/net/wireless/ath/ar9170/ar9170.h +++ b/trunk/drivers/net/wireless/ath/ar9170/ar9170.h @@ -91,6 +91,7 @@ struct ar9170_led { struct led_classdev l; char name[32]; unsigned int toggled; + bool last_state; bool registered; }; diff --git a/trunk/drivers/net/wireless/ath/ar9170/led.c b/trunk/drivers/net/wireless/ath/ar9170/led.c index 341cead7f606..3c8a5728920d 100644 --- a/trunk/drivers/net/wireless/ath/ar9170/led.c +++ b/trunk/drivers/net/wireless/ath/ar9170/led.c @@ -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); }