All of lore.kernel.org
 help / color / mirror / Atom feed
* INPUT: keyboard_tasklet - don't touch LED's of already grabed device
@ 2005-09-06  7:34 Aivils Stoss
  2005-09-06 11:52 ` Hugo Vanwoerkom
  0 siblings, 1 reply; 4+ messages in thread
From: Aivils Stoss @ 2005-09-06  7:34 UTC (permalink / raw)
  To: Vojtech Pavlik, linux-kernel; +Cc: bruby

Hi, Vojtech!

Recent kernels allow exclusive usage of input device when
input device is grabed. keyboard_tasklet does not check
device state and switch LED's of all keyboards. However
grabed device may be use another LED steering code.

This patch forbid keyboard_tasklet switch LED's of
grabed devices.

Aivils Stoss

--- linux-2.6.13/drivers/char/keyboard.c        2005-08-29 02:41:01.000000000 +0300
+++ linux-2.6.13/drivers/char/keyboard.c~       2005-09-06 10:09:35.000000000 +0300
@@ -895,16 +895,18 @@ static inline unsigned char getleds(void

 static void kbd_bh(unsigned long dummy)
 {
        struct list_head * node;
        unsigned char leds = getleds();

        if (leds != ledstate) {
                list_for_each(node,&kbd_handler.h_list) {
+                       if (handle->dev->grab)
+                               continue;
                        struct input_handle * handle = to_handle_h(node);
                        input_event(handle->dev, EV_LED, LED_SCROLLL, !!(leds & 0x01));
                        input_event(handle->dev, EV_LED, LED_NUML,    !!(leds & 0x02));
                        input_event(handle->dev, EV_LED, LED_CAPSL,   !!(leds & 0x04));
                        input_sync(handle->dev);
                }
        }


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2005-09-06 12:53 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-09-06  7:34 INPUT: keyboard_tasklet - don't touch LED's of already grabed device Aivils Stoss
2005-09-06 11:52 ` Hugo Vanwoerkom
2005-09-06 11:57   ` Vojtech Pavlik
2005-09-06 12:55     ` Aivils Stoss

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.