Re: regression since 2.6.36: backlight in sony-laptop not working

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

 



On Thu, Nov 18, 2010 at 08:04:45PM +0900, Mattia Dongili wrote:
> On Tue, Nov 16, 2010 at 10:52:52PM -0800, Dmitry Torokhov wrote:
> > On Wed, Nov 17, 2010 at 03:33:38PM +0900, Norbert Preining wrote:
> > > > - recompiled a input-kbd binary with a relaxed version check
> > > > 	-	if (EV_VERSION != version) {
> > > > 	+	if (EV_VERSION > version) {
> > > >   in input.c, line 104 of input-utils.
> > > 
> > > Furthermore, although both of you referred to the fact that udev keymap
> > > is working, I checked that Debian/sid uses udev kbd rules, but it 
> > > stopped working ...
> > > 
> > 
> > Seems to be working here (I also verified that the keycodces are
> > actually emitted with evtest):
> > 
> > [root@dtor-d630 ~]# /lib/udev/keymap /dev/input/event3 0x87 wlan
> > setting scancode 0x87 to key code 238
> > [root@dtor-d630 ~]# /lib/udev/keymap /dev/input/event3 0x87 battery
> > setting scancode 0x87 to key code 236
> > [root@dtor-d630 ~]# uname -r
> > 2.6.37-rc1+
> > [root@dtor-d630 ~]# 
> 
> ok I got the error. I'll see why the EVIOCSKEYCODE syscall is returning
> -EINVAL.

there is a typo in the large scancode support patch. This patch makes 
/lib/udev/keymap work again here on 2.6.37-rc2.

commit a33950b5baa848ff7851b9efd4c5e2eaafd370f2
Author: Mattia Dongili <malattia@xxxxxxxx>
Date:   Thu Nov 18 22:20:36 2010 +0900

    Input: fix typo in keycode validation supporting large scancodes
    
    Check the input_keymap_entry keycode size (u32) instead of the device's
    (void*).
    Fixes: https://bugzilla.kernel.org/show_bug.cgi?id=22722
    
    Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>
    Cc: Dmitry Torokhov <dtor@xxxxxxx>
    Signed-off-by: Mattia Dongili <malattia@xxxxxxxx>

diff --git a/drivers/input/input.c b/drivers/input/input.c
index 7f26ca6..5edc41a 100644
--- a/drivers/input/input.c
+++ b/drivers/input/input.c
@@ -753,7 +753,7 @@ static int input_default_setkeycode(struct input_dev *dev,
 	if (index >= dev->keycodemax)
 		return -EINVAL;
 
-	if (dev->keycodesize < sizeof(dev->keycode) &&
+	if (dev->keycodesize < sizeof(ke->keycode) &&
 			(ke->keycode >> (dev->keycodesize * 8)))
 		return -EINVAL;
 
-- 
mattia
:wq!
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux