On Mon, May 30, 2011 at 10:46:03PM -0600, Joey Lee wrote: > Hi Joern, > > æ äï2011-05-30 æ 21:39 -0600ïJoey Lee æåï > > Hi Joern, > > > > æ äï2011-05-31 æ 15:03 +1200ïJoern Heissler æåï > > > Hello, > > > > > > I think I have found a bug in acer-wmi.c, > > > commit 987dfbaa65b2c3568b85e29d2598da08a011ee09: > > > > > > The function wmid3_set_device_status contains: > > > > > > struct wmid3_gds_input_param params = { > > > .function_num = 0x1, > > > .hotkey_number = 0x01, > > > .devices = ACER_WMID3_GDS_WIRELESS & > > > ACER_WMID3_GDS_THREEG & > > > ACER_WMID3_GDS_WIMAX & > > > ACER_WMID3_GDS_BLUETOOTH, > > > }; > > > > > > (1<<0) & (1<<6) & (1<<7) & (1<<11) is zero. Meant bitwise or? > > > > > > > OK, it's my mistake, must be OR but not AND. > > I will generate a fix patch, I will test it again, please kindly help > > test it later. > > > > Please kindly help to review this patch for bitwise bug: > > > >From 57756e3f0c727b07314485833e4b9b557bf158ce Mon Sep 17 00:00:00 2001 > From: Lee, Chun-Yi <jlee@xxxxxxxxxx> > Date: Tue, 31 May 2011 12:36:09 +0800 > Subject: [PATCH] acer-wmi: fix bitwise bug when set device state > > Fix a bitwise bug that was found by Joern Heissler, it must be OR > but not AND when we query current device state. > > Cc: Joern Heissler <linux-acpi@xxxxxxxxxxxxxxxxx> > Signed-off-by: Lee, Chun-Yi <jlee@xxxxxxxxxx> > --- > drivers/platform/x86/acer-wmi.c | 6 +++--- > 1 files changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/platform/x86/acer-wmi.c b/drivers/platform/x86/acer-wmi.c > index 005417b..7d4675a 100644 > --- a/drivers/platform/x86/acer-wmi.c > +++ b/drivers/platform/x86/acer-wmi.c > @@ -1156,9 +1156,9 @@ static acpi_status wmid3_set_device_status(u32 value, u16 device) > struct wmid3_gds_input_param params = { > .function_num = 0x1, > .hotkey_number = 0x01, > - .devices = ACER_WMID3_GDS_WIRELESS & > - ACER_WMID3_GDS_THREEG & > - ACER_WMID3_GDS_WIMAX & > + .devices = ACER_WMID3_GDS_WIRELESS | > + ACER_WMID3_GDS_THREEG | > + ACER_WMID3_GDS_WIMAX | > ACER_WMID3_GDS_BLUETOOTH, > }; > struct acpi_buffer input = { > -- > 1.6.0.2 The patch looks good and works in my heavily stripped-down version of acer-wmi.c. -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html