On Sun, 2009-07-19 at 09:48 +0100, Alan Jenkins wrote: > On 6/17/09, Troy Moure <twmoure@xxxxxxxxx> wrote: > > Commit 19d337dff95cbf76ed ("rfkill: rewrite") incorrectly reversed > > the meaning of 'state' in acer_rfkill_update() when it changed > > rfkill_force_state() to rfkill_set_sw_state(). Fix it. > > > > Signed-off-by: Troy Moure <twmoure@xxxxxxxxx> > > --- > > This fixes the rfkill switch on my Acer laptop, which was behaving > > backwards (the state reported in the logs was the opposite of the > > state indicated by the LED). > > I think there's another reversal error that you didn't notice :-). I > found that acer-wmi disables the wireless when it is loaded. Ahrg. > The core tries to initialize the wireless to enabled, but the polarity > is wrong in acer_rfkill_set(). It ends up disabling the wireless > instead. > > Here's a patch for it. I really should go back and audit it again, but every instance takes me about 5 minutes to do the (not state != unblocked) thing in my head ... :/ Thanks! johannes > ---> > From 75953366b4958a77019729662a997f5d361a7529 Mon Sep 17 00:00:00 2001 > From: Alan Jenkins <alan-jenkins@xxxxxxxxxxxxxx> > Date: Sun, 19 Jul 2009 09:29:21 +0100 > Subject: [PATCH] acer-wmi: fix rfkill conversion > > Fix another polarity error introduced by the rfkill rewrite, > this time in acer_rfkill_set(). > > Signed-off-by: Alan Jenkins <alan-jenkins@xxxxxxxxxxxxxx> > --- > drivers/platform/x86/acer-wmi.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/drivers/platform/x86/acer-wmi.c b/drivers/platform/x86/acer-wmi.c > index be2fd6f..fb45f5e 100644 > --- a/drivers/platform/x86/acer-wmi.c > +++ b/drivers/platform/x86/acer-wmi.c > @@ -973,7 +973,7 @@ static int acer_rfkill_set(void *data, bool blocked) > { > acpi_status status; > u32 cap = (unsigned long)data; > - status = set_u32(!!blocked, cap); > + status = set_u32(!blocked, cap); > if (ACPI_FAILURE(status)) > return -ENODEV; > return 0;
Attachment:
signature.asc
Description: This is a digitally signed message part