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]

 



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



--
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