Re: bug in acer-wmi.c, wmid3_set_device_status(), initialization of params.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux