| From jejb@kernel.org Wed Oct 15 14:36:09 2008 |
| From: Henrique de Moraes Holschuh <hmh@hmh.eng.br> |
| Date: Sat, 11 Oct 2008 16:55:13 GMT |
| Subject: rfkill: update LEDs for all state changes |
| To: jejb@kernel.org, stable@kernel.org |
| Message-ID: <200810111655.m9BGtDQf013236@hera.kernel.org> |
| |
| From: Henrique de Moraes Holschuh <hmh@hmh.eng.br> |
| |
| commit 417bd25ac4c6f76c8aafe8a584f3620f4a936b72 upstream |
| |
| The LED state was not being updated by rfkill_force_state(), which |
| will cause regressions in wireless drivers that had old-style rfkill |
| support and are updated to use rfkill_force_state(). |
| |
| The LED state was not being updated when a change was detected through |
| the rfkill->get_state() hook, either. |
| |
| Move the LED trigger update calls into notify_rfkill_state_change(), |
| where it should have been in the first place. This takes care of both |
| issues above. |
| |
| Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br> |
| Acked-by: Ivo van Doorn <IvDoorn@gmail.com> |
| Signed-off-by: John W. Linville <linville@tuxdriver.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| net/rfkill/rfkill.c | 5 ++--- |
| 1 file changed, 2 insertions(+), 3 deletions(-) |
| |
| --- a/net/rfkill/rfkill.c |
| +++ b/net/rfkill/rfkill.c |
| @@ -117,6 +117,7 @@ static void rfkill_led_trigger_activate( |
| |
| static void notify_rfkill_state_change(struct rfkill *rfkill) |
| { |
| + rfkill_led_trigger(rfkill, rfkill->state); |
| blocking_notifier_call_chain(&rfkill_notifier_list, |
| RFKILL_STATE_CHANGED, |
| rfkill); |
| @@ -204,10 +205,8 @@ static int rfkill_toggle_radio(struct rf |
| rfkill->state = state; |
| } |
| |
| - if (force || rfkill->state != oldstate) { |
| - rfkill_led_trigger(rfkill, rfkill->state); |
| + if (force || rfkill->state != oldstate) |
| notify_rfkill_state_change(rfkill); |
| - } |
| |
| return retval; |
| } |