lkml.org 
[lkml]   [2004]   [Apr]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectRe: 2.6.5: keyboard lockup on a Toshiba laptop
    On Fri, 9 Apr 2004, R. J. Wysocki wrote:

    > On Wednesday 07 of April 2004 13:31, Grzegorz Kulewski wrote:
    > > Ok, that should be easy to debug... I hope :-)
    > >
    > > Try to apply this patch to check what kernel part call connect function
    > > too many times. (Maybe it is some power management stuff?)
    >
    > I've applied this and I've got something like this in the log after a (recent)
    > lockup:
    >
    > Apr 9 10:47:03 albercik kernel: Uniform CD-ROM driver Revision: 3.20
    > Apr 9 10:47:03 albercik kernel: inserting floppy driver for 2.6.5
    > Apr 9 10:47:03 albercik kernel: Floppy drive(s): fd0 is 1.44M
    > Apr 9 10:47:03 albercik kernel: FDC 0 is a post-1991 82077
    > Apr 9 10:47:03 albercik kernel: SCSI subsystem initialized
    > Apr 9 10:51:11 albercik kernel: spurious 8259A interrupt: IRQ7.
    > Apr 9 15:00:24 albercik kernel: Call Trace:
    > Apr 9 15:00:24 albercik kernel: [<c0277b29>] atkbd_connect+0x19/0x420
    > Apr 9 15:00:24 albercik kernel: [<c027adca>] serio_find_dev+0x6a/0x70
    > Apr 9 15:00:24 albercik kernel: [<c027aee9>] serio_handle_events+0xc9/0x120
    > Apr 9 15:00:24 albercik kernel: [<c027af85>] serio_thread+0x45/0x140
    > Apr 9 15:00:24 albercik kernel: [<c0117a40>] default_wake_function+0x0/0x20
    > Apr 9 15:00:24 albercik kernel: [<c027af40>] serio_thread+0x0/0x140
    > Apr 9 15:00:24 albercik kernel: [<c0105285>] kernel_thread_helper+0x5/0x10
    > Apr 9 15:00:24 albercik kernel:
    > Apr 9 15:00:24 albercik kernel: input: AT Translated Set 2 keyboard on
    > isa0060/serio0
    > Apr 9 15:42:19 albercik kernel: Call Trace:
    > Apr 9 15:42:19 albercik kernel: [<c0277b29>] atkbd_connect+0x19/0x420
    > Apr 9 15:42:19 albercik kernel: [<c027adca>] serio_find_dev+0x6a/0x70
    > Apr 9 15:42:19 albercik kernel: [<c027aee9>] serio_handle_events+0xc9/0x120
    > Apr 9 15:42:19 albercik kernel: [<c027af85>] serio_thread+0x45/0x140
    > Apr 9 15:42:19 albercik kernel: [<c0117a40>] default_wake_function+0x0/0x20
    > Apr 9 15:42:19 albercik kernel: [<c027af40>] serio_thread+0x0/0x140
    > Apr 9 15:42:19 albercik kernel: [<c0105285>] kernel_thread_helper+0x5/0x10
    > Apr 9 15:42:19 albercik kernel:
    > Apr 9 15:42:19 albercik kernel: input: AT Translated Set 2 keyboard on
    > isa0060/serio0
    > Apr 9 15:58:36 albercik kernel: Call Trace:
    > Apr 9 15:58:36 albercik kernel: [<c0277b29>] atkbd_connect+0x19/0x420
    > Apr 9 15:58:36 albercik kernel: [<c027adca>] serio_find_dev+0x6a/0x70
    > Apr 9 15:58:36 albercik kernel: [<c027aee9>] serio_handle_events+0xc9/0x120
    > Apr 9 15:58:36 albercik kernel: [<c027af85>] serio_thread+0x45/0x140
    > Apr 9 15:58:36 albercik kernel: [<c0117a40>] default_wake_function+0x0/0x20
    > Apr 9 15:58:36 albercik kernel: [<c027af40>] serio_thread+0x0/0x140
    > Apr 9 15:58:36 albercik kernel: [<c0105285>] kernel_thread_helper+0x5/0x10
    > Apr 9 15:58:36 albercik kernel:
    >
    > Here I had to reboot the machine.

    So we can see that atkbd_connect is called several times (and it probably
    should not... - somebody correct me if I am wrong).

    Apply attached patch to see what causes reconnection.

    Grzegorz Kulewski
    --- /usr/src/linux-2.6.5/drivers/input/serio/serio.c.orig 2004-04-04 05:36:15.000000000 +0200
    +++ /usr/src/linux-2.6.5/drivers/input/serio/serio.c 2004-04-09 18:28:50.268521936 +0200
    @@ -166,6 +166,11 @@ static int serio_thread(void *nothing)
    static void serio_queue_event(struct serio *serio, int event_type)
    {
    struct serio_event *event;
    +
    + if (event_type == SERIO_RESCAN || event_type == SERIO_RECONNECT) {
    + printk(KERN_WARNING "serio: RESCAN || RECONNECT requested: %d!\n", event_type);
    + dump_stack();
    + }

    if ((event = kmalloc(sizeof(struct serio_event), GFP_ATOMIC))) {
    event->type = event_type;
    \
     
     \ /
      Last update: 2005-03-22 14:02    [W:0.027 / U:92.036 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site