[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <200809181449.31495.IvDoorn@gmail.com>
Date: Thu, 18 Sep 2008 14:49:31 +0200
From: Ivo van Doorn <ivdoorn@...il.com>
To: Henrique de Moraes Holschuh <hmh@....eng.br>
Cc: John Linville <linville@...driver.com>,
linux-wireless@...r.kernel.org, linux-kernel@...r.kernel.org,
Matthew Garrett <mjg59@...f.ucam.org>,
Larry Finger <Larry.Finger@...inger.net>,
Michael Buesch <mb@...sch.de>
Subject: Re: [PATCH] rfkill: update LEDs for all state changes
On Wednesday 17 September 2008, Henrique de Moraes Holschuh wrote:
> 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.
>
> Signed-off-by: Henrique de Moraes Holschuh <hmh@....eng.br>
> Cc: Ivo van Doorn <IvDoorn@...il.com>
Acked-by: Ivo van Doorn <IvDoorn@...il.com>
> ---
> net/rfkill/rfkill.c | 5 ++---
> 1 files changed, 2 insertions(+), 3 deletions(-)
>
> John, this one is quite likely something that should be sent for
> merge in mainline BEFORE 2.6.27 is released.
>
> I am NOT sure it fixes regressions, that depends on whether the drivers
> using rfkill that are in 2.6.27 had working LED support before rfkill
> support was added to them. Unfortunately, it cannot fix the b43
> regression by itself.
>
> diff --git a/net/rfkill/rfkill.c b/net/rfkill/rfkill.c
> index ea0dc04..f949a48 100644
> --- a/net/rfkill/rfkill.c
> +++ b/net/rfkill/rfkill.c
> @@ -125,6 +125,7 @@ static void rfkill_led_trigger_activate(struct led_classdev *led)
>
> 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);
> @@ -217,10 +218,8 @@ static int rfkill_toggle_radio(struct rfkill *rfkill,
> 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;
> }
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists