linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* 2.6.0-test2 has i8042 mux problems
@ 2003-07-28  2:13 dean gaudet
  2003-07-28  3:59 ` Andries Brouwer
                   ` (2 more replies)
  0 siblings, 3 replies; 13+ messages in thread
From: dean gaudet @ 2003-07-28  2:13 UTC (permalink / raw)
  To: linux-kernel

this was a bug i reported back a few versions as well -- and i don't think
i received any responses (nor from the maintainer).

i've got a box on which 2.4.x works fine, but 2.6.0-test2 gets into a snit
when it's trying to initialize the i8042.  i can get 2.6.0-test2 to boot
if i add "i8042_nomux".

the mux initialization code seems kind of ... wonk -- it seems to write
values to the registers then read back and if the value is the same then
it assumes the mux is there.  that seems way too likely to be broken in
situations when the mux isn't there... it'd be better to be looking for
some value which is different after writing.

the southbridge in this system is the ali1563.  if it helps i can supply a
complete trace of in/out on ports 0x60 and 0x64.

thanks
-dean


Loading test..........................
BIOS data check successful
Linux version 2.6.0-test2 (root@zim) (gcc version 3.2.3 (Debian)) #1 Sun Jul 27 18:48:40 PDT 2003
[...snip...]
mice: PS/2 mouse device common for all mice
i8042.c: Detected active multiplexing controller, rev 1.1.
serio: i8042 AUX0 port at 0x60,0x64 irq 12
serio: i8042 AUX1 port at 0x60,0x64 irq 12
atkbd.c: frame/parity error: 02
atkbd.c: frame/parity error: 02
atkbd.c: frame/parity error: 02
atkbd.c: frame/parity error: 02
atkbd.c: frame/parity error: 02
atkbd.c: frame/parity error: 02
atkbd.c: frame/parity error: 02
atkbd.c: frame/parity error: 02
atkbd.c: frame/parity error: 02
atkbd.c: frame/parity error: 02
atkbd.c: frame/parity error: 02
atkbd.c: frame/parity error: 02
atkbd.c: frame/parity error: 02
atkbd.c: frame/parity error: 02
atkbd.c: frame/parity error: 02
atkbd.c: frame/parity error: 02
atkbd.c: frame/parity error: 02
atkbd.c: frame/parity error: 02
atkbd.c: frame/parity error: 02
bad: scheduling while atomic!
Call Trace:
 [<c01191a9>] schedule+0x3b9/0x3c0
 [<c01191e6>] preempt_schedule+0x36/0x50
 [<c011d037>] printk+0x127/0x180
 [<c02804cf>] atkbd_interrupt+0x1ff/0x230
 [<c0124740>] do_timer+0xe0/0xf0
 [<c0282fda>] serio_interrupt+0x5a/0x60
 [<c02838d5>] i8042_interrupt+0x135/0x270
 [<c010bb2e>] do_IRQ+0x11e/0x160
 [<c0123e96>] mod_timer+0x136/0x190
 [<c0234a3b>] poke_blanked_console+0x6b/0x80
 [<c0233d32>] vt_console_print+0x212/0x300
 [<c011cd00>] __call_console_drivers+0x60/0x70
 [<c011cde5>] call_console_drivers+0x65/0x120
 [<c021a544>] __delay+0x14/0x20
 [<c02833ed>] i8042_wait_write+0x1d/0x40
 [<c0283533>] i8042_command+0xb3/0xc0
 [<c02835f2>] i8042_aux_write+0x52/0x70
 [<c02804ef>] atkbd_interrupt+0x21f/0x230
 [<c01242d6>] update_wall_time+0x16/0x40
 [<c0282fda>] serio_interrupt+0x5a/0x60
 [<c02838d5>] i8042_interrupt+0x135/0x270
 [<c0123e96>] mod_timer+0x136/0x190
 [<c0234a3b>] poke_blanked_console+0x6b/0x80
 [<c0233d32>] vt_console_print+0x212/0x300
 [<c011cd00>] __call_console_drivers+0x60/0x70
 [<c011cde5>] call_console_drivers+0x65/0x120
 [<c021a544>] __delay+0x14/0x20
 [<c02833ed>] i8042_wait_write+0x1d/0x40
 [<c0283533>] i8042_command+0xb3/0xc0
 [<c02835f2>] i8042_aux_write+0x52/0x70
 [<c02804ef>] atkbd_interrupt+0x21f/0x230
 [<c01242d6>] update_wall_time+0x16/0x40
 [<c0282fda>] serio_interrupt+0x5a/0x60
 [<c02838d5>] i8042_interrupt+0x135/0x270
 [<c0114835>] mark_offset_tsc+0x205/0x2a0
 [<c0124466>] update_process_times+0x46/0x50
 [<c01242d6>] update_wall_time+0x16/0x40
 [<c0124740>] do_timer+0xe0/0xf0
 [<c010fb28>] timer_interrupt+0xe8/0x130
 [<c010b72b>] handle_IRQ_event+0x3b/0x70
 [<c010bb2e>] do_IRQ+0x11e/0x160
 [<c0109e68>] common_interrupt+0x18/0x20
 [<c01191b0>] preempt_schedule+0x0/0x50
 [<c0283533>] i8042_command+0xb3/0xc0
 [<c02835f2>] i8042_aux_write+0x52/0x70
 [<c02804ef>] atkbd_interrupt+0x21f/0x230
 [<c0124740>] do_timer+0xe0/0xf0
 [<c0282fda>] serio_interrupt+0x5a/0x60
 [<c02838d5>] i8042_interrupt+0x135/0x270
 [<c010bb2e>] do_IRQ+0x11e/0x160
 [<c0114835>] mark_offset_tsc+0x205/0x2a0
 [<c0124466>] update_process_times+0x46/0x50
 [<c01242d6>] update_wall_time+0x16/0x40
 [<c0124740>] do_timer+0xe0/0xf0
 [<c010fb28>] timer_interrupt+0xe8/0x130
 [<c010b72b>] handle_IRQ_event+0x3b/0x70
 [<c010bb2e>] do_IRQ+0x11e/0x160
 [<c0109e68>] common_interrupt+0x18/0x20
 [<c01191b0>] preempt_schedule+0x0/0x50
 [<c0283533>] i8042_command+0xb3/0xc0
 [<c02835f2>] i8042_aux_write+0x52/0x70
 [<c02804ef>] atkbd_interrupt+0x21f/0x230
 [<c0282fda>] serio_interrupt+0x5a/0x60
 [<c02838d5>] i8042_interrupt+0x135/0x270
 [<c0123e96>] mod_timer+0x136/0x190
 [<c0234a3b>] poke_blanked_console+0x6b/0x80
 [<c0233d32>] vt_console_print+0x212/0x300
 [<c011cd00>] __call_console_drivers+0x60/0x70
 [<c011cde5>] call_console_drivers+0x65/0x120
 [<c021a544>] __delay+0x14/0x20
 [<c02833ed>] i8042_wait_write+0x1d/0x40
 [<c0283533>] i8042_command+0xb3/0xc0
 [<c02835f2>] i8042_aux_write+0x52/0x70
 [<c02804ef>] atkbd_interrupt+0x21f/0x230
 [<c0124740>] do_timer+0xe0/0xf0
 [<c0282fda>] serio_interrupt+0x5a/0x60
 [<c02838d5>] i8042_interrupt+0x135/0x270
 [<c010bb2e>] do_IRQ+0x11e/0x160
 [<c0123e96>] mod_timer+0x136/0x190
 [<c0234a3b>] poke_blanked_console+0x6b/0x80
 [<c0233d32>] vt_console_print+0x212/0x300
 [<c011cd00>] __call_console_drivers+0x60/0x70
 [<c011cde5>] call_console_drivers+0x65/0x120
 [<c021a544>] __delay+0x14/0x20
 [<c02833ed>] i8042_wait_write+0x1d/0x40
 [<c0283533>] i8042_command+0xb3/0xc0
 [<c02835f2>] i8042_aux_write+0x52/0x70
 [<c02804ef>] atkbd_interrupt+0x21f/0x230
 [<c01242d6>] update_wall_time+0x16/0x40
 [<c0282fda>] serio_interrupt+0x5a/0x60
 [<c02838d5>] i8042_interrupt+0x135/0x270
 [<c0123e96>] mod_timer+0x136/0x190
 [<c0234a3b>] poke_blanked_console+0x6b/0x80
 [<c0233d32>] vt_console_print+0x212/0x300
 [<c011cd00>] __call_console_drivers+0x60/0x70
 [<c011cde5>] call_console_drivers+0x65/0x120
 [<c021a544>] __delay+0x14/0x20
 [<c02833ed>] i8042_wait_write+0x1d/0x40
 [<c0283533>] i8042_command+0xb3/0xc0
 [<c02835f2>] i8042_aux_write+0x52/0x70
 [<c02804ef>] atkbd_interrupt+0x21f/0x230
 [<c0124740>] do_timer+0xe0/0xf0
 [<c0282fda>] serio_interrupt+0x5a/0x60
 [<c02838d5>] i8042_interrupt+0x135/0x270
 [<c010bb2e>] do_IRQ+0x11e/0x160
 [<c0114835>] mark_offset_tsc+0x205/0x2a0
 [<c0124466>] update_process_times+0x46/0x50
 [<c01242d6>] update_wall_time+0x16/0x40
 [<c0124740>] do_timer+0xe0/0xf0
 [<c010fb28>] timer_interrupt+0xe8/0x130
 [<c010b72b>] handle_IRQ_event+0x3b/0x70
 [<c010bb2e>] do_IRQ+0x11e/0x160
 [<c0109e8a>] apic_timer_interrupt+0x1a/0x20
 [<c01191b0>] preempt_schedule+0x0/0x50
 [<c0283533>] i8042_command+0xb3/0xc0
 [<c02835f2>] i8042_aux_write+0x52/0x70
 [<c02804ef>] atkbd_interrupt+0x21f/0x230
 [<c0109e68>] common_interrupt+0x18/0x20
 [<c0282fda>] serio_interrupt+0x5a/0x60
 [<c02838d5>] i8042_interrupt+0x135/0x270
 [<c0123e96>] mod_timer+0x136/0x190
 [<c0234a3b>] poke_blanked_console+0x6b/0x80
 [<c0233d32>] vt_console_print+0x212/0x300
 [<c011cd00>] __call_console_drivers+0x60/0x70
 [<c011cde5>] call_console_drivers+0x65/0x120
 [<c0109e8a>] apic_timer_interrupt+0x1a/0x20
 [<c02835f2>] i8042_aux_write+0x52/0x70
 [<c02804ef>] atkbd_interrupt+0x21f/0x230
 [<c0124740>] do_timer+0xe0/0xf0
 [<c0282fda>] serio_interrupt+0x5a/0x60
 [<c02838d5>] i8042_interrupt+0x135/0x270
 [<c010bb2e>] do_IRQ+0x11e/0x160
 [<c0123e96>] mod_timer+0x136/0x190
 [<c0234a3b>] poke_blanked_console+0x6b/0x80
 [<c0233d32>] vt_console_print+0x212/0x300
 [<c011cd00>] __call_console_drivers+0x60/0x70
 [<c011cde5>] call_console_drivers+0x65/0x120
 [<c021a544>] __delay+0x14/0x20
 [<c02833ed>] i8042_wait_write+0x1d/0x40
 [<c0283533>] i8042_command+0xb3/0xc0
 [<c02835f2>] i8042_aux_write+0x52/0x70
 [<c02804ef>] atkbd_interrupt+0x21f/0x230
 [<c01242d6>] update_wall_time+0x16/0x40
 [<c0282fda>] serio_interrupt+0x5a/0x60
 [<c02838d5>] i8042_interrupt+0x135/0x270
 [<c0123e96>] mod_timer+0x136/0x190
 [<c0234a3b>] poke_blanked_console+0x6b/0x80
 [<c0233d32>] vt_console_print+0x212/0x300
 [<c011cd00>] __call_console_drivers+0x60/0x70
 [<c011cde5>] call_console_drivers+0x65/0x120
 [<c021a544>] __delay+0x14/0x20
 [<c02833ed>] i8042_wait_write+0x1d/0x40
 [<c0283533>] i8042_command+0xb3/0xc0
 [<c02835f2>] i8042_aux_write+0x52/0x70
 [<c02804ef>] atkbd_interrupt+0x21f/0x230
 [<c01242d6>] update_wall_time+0x16/0x40
 [<c0282fda>] serio_interrupt+0x5a/0x60
 [<c02838d5>] i8042_interrupt+0x135/0x270
 [<c0114835>] mark_offset_tsc+0x205/0x2a0
 [<c0124466>] update_process_times+0x46/0x50
 [<c01242d6>] update_wall_time+0x16/0x40
 [<c0124740>] do_timer+0xe0/0xf0
 [<c010fb28>] timer_interrupt+0xe8/0x130
 [<c010b72b>] handle_IRQ_event+0x3b/0x70
 [<c010bb2e>] do_IRQ+0x11e/0x160
 [<c0109e68>] common_interrupt+0x18/0x20
 [<c01191b0>] preempt_schedule+0x0/0x50
 [<c0283533>] i8042_command+0xb3/0xc0
 [<c02835f2>] i8042_aux_write+0x52/0x70
 [<c02804ef>] atkbd_interrupt+0x21f/0x230
 [<c01242d6>] update_wall_time+0x16/0x40
 [<c0282fda>] serio_interrupt+0x5a/0x60
 [<c02838d5>] i8042_interrupt+0x135/0x270
 [<c0123e96>] mod_timer+0x136/0x190
 [<c0234a3b>] poke_blanked_console+0x6b/0x80
 [<c0233d32>] vt_console_print+0x212/0x300
 [<c011cd00>] __call_console_drivers+0x60/0x70
 [<c011cde5>] call_console_drivers+0x65/0x120
 [<c0109e8a>] apic_timer_interrupt+0x1a/0x20
 [<c02835f2>] i8042_aux_write+0x52/0x70
 [<c02804ef>] atkbd_interrupt+0x21f/0x230
 [<c01242d6>] update_wall_time+0x16/0x40
 [<c0282fda>] serio_interrupt+0x5a/0x60
 [<c02838d5>] i8042_interrupt+0x135/0x270
 [<c0123e96>] mod_timer+0x136/0x190
 [<c0234a3b>] poke_blanked_console+0x6b/0x80
 [<c0233d32>] vt_console_print+0x212/0x300
 [<c011cd00>] __call_console_drivers+0x60/0x70
 [<c011cde5>] call_console_drivers+0x65/0x120
 [<c021a544>] __delay+0x14/0x20
 [<c02833ed>] i8042_wait_write+0x1d/0x40
 [<c0283533>] i8042_command+0xb3/0xc0
 [<c02835f2>] i8042_aux_write+0x52/0x70
 [<c02804ef>] atkbd_interrupt+0x21f/0x230
 [<c0124740>] do_timer+0xe0/0xf0
 [<c0282fda>] serio_interrupt+0x5a/0x60
 [<c02838d5>] i8042_interrupt+0x135/0x270
 [<c010bb2e>] do_IRQ+0x11e/0x160
 [<c0123e96>] mod_timer+0x136/0x190
 [<c0234a3b>] poke_blanked_console+0x6b/0x80
 [<c0233d32>] vt_console_print+0x212/0x300
 [<c011cd00>] __call_console_drivers+0x60/0x70
 [<c011cde5>] call_console_drivers+0x65/0x120
 [<c021a544>] __delay+0x14/0x20
 [<c02833ed>] i8042_wait_write+0x1d/0x40
 [<c0283533>] i8042_command+0xb3/0xc0
 [<c02835f2>] i8042_aux_write+0x52/0x70
 [<c02804ef>] atkbd_interrupt+0x21f/0x230
 [<c01242d6>] update_wall_time+0x16/0x40
 [<c0282fda>] serio_interrupt+0x5a/0x60
 [<c02838d5>] i8042_interrupt+0x135/0x270
 [<c0114835>] mark_offset_tsc+0x205/0x2a0
 [<c0124466>] update_process_times+0x46/0x50
 [<c01242d6>] update_wall_time+0x16/0x40
 [<c0124740>] do_timer+0xe0/0xf0
 [<c010fb28>] timer_interrupt+0xe8/0x130
 [<c010b72b>] handle_IRQ_event+0x3b/0x70
 [<c010bb2e>] do_IRQ+0x11e/0x160
 [<c0109e68>] common_interrupt+0x18/0x20
 [<c01191b0>] preempt_schedule+0x0/0x50
 [<c0283533>] i8042_command+0xb3/0xc0
 [<c02835f2>] i8042_aux_write+0x52/0x70
 [<c02804ef>] atkbd_interrupt+0x21f/0x230
 [<c0124740>] do_timer+0xe0/0xf0
 [<c0282fda>] serio_interrupt+0x5a/0x60
 [<c02838d5>] i8042_interrupt+0x135/0x270
 [<c010bb2e>] do_IRQ+0x11e/0x160
 [<c0114835>] mark_offset_tsc+0x205/0x2a0
 [<c0124466>] update_process_times+0x46/0x50
 [<c01242d6>] update_wall_time+0x16/0x40
 [<c0124740>] do_timer+0xe0/0xf0
 [<c010fb28>] timer_interrupt+0xe8/0x130
 [<c010b72b>] handle_IRQ_event+0x3b/0x70
 [<c010bb2e>] do_IRQ+0x11e/0x160
 [<c0109e8a>] apic_timer_interrupt+0x1a/0x20
 [<c02835f2>] i8042_aux_write+0x52/0x70
 [<c02804ef>] atkbd_interrupt+0x21f/0x230
 [<c0124740>] do_timer+0xe0/0xf0
 [<c0282fda>] serio_interrupt+0x5a/0x60
 [<c02838d5>] i8042_interrupt+0x135/0x270
 [<c010bb2e>] do_IRQ+0x11e/0x160
 [<c0123e96>] mod_timer+0x136/0x190
 [<c0234a3b>] poke_blanked_console+0x6b/0x80
 [<c0233d32>] vt_console_print+0x212/0x300
 [<c011cd00>] __call_console_drivers+0x60/0x70
 [<c011cde5>] call_console_drivers+0x65/0x120
 [<c021a544>] __delay+0x14/0x20
 [<c02833ed>] i8042_wait_write+0x1d/0x40
 [<c0283533>] i8042_command+0xb3/0xc0
 [<c02835f2>] i8042_aux_write+0x52/0x70
 [<c02804ef>] atkbd_interrupt+0x21f/0x230
 [<c0282fda>] serio_interrupt+0x5a/0x60
 [<c02838d5>] i8042_interrupt+0x135/0x270
 [<c0137e4d>] __alloc_pages+0x8d/0x340
 [<c0114835>] mark_offset_tsc+0x205/0x2a0
 [<c0124466>] update_process_times+0x46/0x50
 [<c01242d6>] update_wall_time+0x16/0x40
 [<c0124740>] do_timer+0xe0/0xf0
 [<c010fb28>] timer_interrupt+0xe8/0x130
 [<c010b72b>] handle_IRQ_event+0x3b/0x70
 [<c010bb2e>] do_IRQ+0x11e/0x160
 [<c0109e68>] common_interrupt+0x18/0x20
 [<c010b72b>] handle_IRQ_event+0x3b/0x70
 [<c010baac>] do_IRQ+0x9c/0x160
 [<c0109e68>] common_interrupt+0x18/0x20
 [<c01148e2>] delay_tsc+0x12/0x20
 [<c021a544>] __delay+0x14/0x20
 [<c028055c>] atkbd_sendbyte+0x5c/0xa0
 [<c0280753>] atkbd_command+0x1b3/0x1c0
 [<c02809f3>] atkbd_probe+0x33/0x160
 [<c0283252>] serio_open+0x12/0x30
 [<c0280e22>] atkbd_connect+0x292/0x300
 [<c0109e68>] common_interrupt+0x18/0x20
 [<c0282d0a>] serio_find_dev+0x6a/0x70
 [<c0283038>] serio_register_port+0x58/0x70
 [<c0398f3b>] i8042_port_register+0x5b/0x90
 [<c0399243>] i8042_init+0x143/0x150
 [<c038080b>] do_initcalls+0x2b/0xa0
 [<c012bd32>] init_workqueues+0x12/0x30
 [<c01050a6>] init+0x36/0x190
 [<c0105070>] init+0x0/0x190
 [<c0107429>] kernel_thread_helper+0x5/0xc

Unable to handle kernel paging request at virtual address 00ca8108
 printing eip:
c0118e89
*pde = 00000000
Oops: 0002 [#1]
CPU:    0
EIP:    0060:[<c0118e89>]    Not tainted
EFLAGS: 00010016
EIP is at schedule+0x99/0x3c0
eax: 7481e850   ebx: c0107429   ecx: c0107449   edx: 89000000
esi: 00ca8108   edi: c03d31c0   ebp: dbe9204c   esp: dbe92024
ds: 007b   es: 007b   ss: 0068
Process  (pid: -605094084, threadinfo=dbe90000 task=dbeefec0)
Stack: c02ff5e0 00000002 00000000 00000010 00000002 00000000 00000001 dbe92000
       00000246 00000020 dbe92058 c01191e6 c03d3f80 dbe9208c c011d037 0000000a
       00000400 c03247c2 dbe9209c 00000000 00000001 00000000 dbe9209c c03eaa90
Call Trace:
 [<c01191e6>] preempt_schedule+0x36/0x50
 [<c011d037>] printk+0x127/0x180
 [<c02804cf>] atkbd_interrupt+0x1ff/0x230
 [<c0124740>] do_timer+0xe0/0xf0
 [<c0282fda>] serio_interrupt+0x5a/0x60
 [<c02838d5>] i8042_interrupt+0x135/0x270
 [<c010bb2e>] do_IRQ+0x11e/0x160
 [<c0123e96>] mod_timer+0x136/0x190
 [<c0234a3b>] poke_blanked_console+0x6b/0x80
 [<c0233d32>] vt_console_print+0x212/0x300
 [<c011cd00>] __call_console_drivers+0x60/0x70
 [<c011cde5>] call_console_drivers+0x65/0x120
 [<c021a544>] __delay+0x14/0x20
 [<c02833ed>] i8042_wait_write+0x1d/0x40
 [<c0283533>] i8042_command+0xb3/0xc0
 [<c02835f2>] i8042_aux_write+0x52/0x70
 [<c02804ef>] atkbd_interrupt+0x21f/0x230
 [<c01242d6>] update_wall_time+0x16/0x40
 [<c0282fda>] serio_interrupt+0x5a/0x60
 [<c02838d5>] i8042_interrupt+0x135/0x270
 [<c0123e96>] mod_timer+0x136/0x190
 [<c0234a3b>] poke_blanked_console+0x6b/0x80
 [<c0233d32>] vt_console_print+0x212/0x300
 [<c011cd00>] __call_console_drivers+0x60/0x70
 [<c011cde5>] call_console_drivers+0x65/0x120
 [<c021a544>] __delay+0x14/0x20
 [<c02833ed>] i8042_wait_write+0x1d/0x40
 [<c0283533>] i8042_command+0xb3/0xc0
 [<c02835f2>] i8042_aux_write+0x52/0x70
 [<c02804ef>] atkbd_interrupt+0x21f/0x230
 [<c01242d6>] update_wall_time+0x16/0x40
 [<c0282fda>] serio_interrupt+0x5a/0x60
 [<c02838d5>] i8042_interrupt+0x135/0x270
 [<c0114835>] mark_offset_tsc+0x205/0x2a0
 [<c0124466>] update_process_times+0x46/0x50
 [<c01242d6>] update_wall_time+0x16/0x40
 [<c0124740>] do_timer+0xe0/0xf0
 [<c010fb28>] timer_interrupt+0xe8/0x130
 [<c010b72b>] handle_IRQ_event+0x3b/0x70
 [<c010bb2e>] do_IRQ+0x11e/0x160
 [<c0109e68>] common_interrupt+0x18/0x20
 [<c01191b0>] preempt_schedule+0x0/0x50
 [<c0283533>] i8042_command+0xb3/0xc0
 [<c02835f2>] i8042_aux_write+0x52/0x70
 [<c02804ef>] atkbd_interrupt+0x21f/0x230
 [<c0124740>] do_timer+0xe0/0xf0
 [<c0282fda>] serio_interrupt+0x5a/0x60
 [<c02838d5>] i8042_interrupt+0x135/0x270
 [<c010bb2e>] do_IRQ+0x11e/0x160
 [<c0114835>] mark_offset_tsc+0x205/0x2a0
 [<c0124466>] update_process_times+0x46/0x50
 [<c01242d6>] update_wall_time+0x16/0x40
 [<c0124740>] do_timer+0xe0/0xf0
 [<c010fb28>] timer_interrupt+0xe8/0x130
 [<c010b72b>] handle_IRQ_event+0x3b/0x70
 [<c010bb2e>] do_IRQ+0x11e/0x160
 [<c0109e68>] common_interrupt+0x18/0x20
 [<c01191b0>] preempt_schedule+0x0/0x50
 [<c0283533>] i8042_command+0xb3/0xc0
 [<c02835f2>] i8042_aux_write+0x52/0x70
 [<c02804ef>] atkbd_interrupt+0x21f/0x230
 [<c0282fda>] serio_interrupt+0x5a/0x60
 [<c02838d5>] i8042_interrupt+0x135/0x270
 [<c0123e96>] mod_timer+0x136/0x190
 [<c0234a3b>] poke_blanked_console+0x6b/0x80
 [<c0233d32>] vt_console_print+0x212/0x300
 [<c011cd00>] __call_console_drivers+0x60/0x70
 [<c011cde5>] call_console_drivers+0x65/0x120
 [<c021a544>] __delay+0x14/0x20
 [<c02833ed>] i8042_wait_write+0x1d/0x40
 [<c0283533>] i8042_command+0xb3/0xc0
 [<c02835f2>] i8042_aux_write+0x52/0x70
 [<c02804ef>] atkbd_interrupt+0x21f/0x230
 [<c0124740>] do_timer+0xe0/0xf0
 [<c0282fda>] serio_interrupt+0x5a/0x60
 [<c02838d5>] i8042_interrupt+0x135/0x270
 [<c010bb2e>] do_IRQ+0x11e/0x160
 [<c0123e96>] mod_timer+0x136/0x190
 [<c0234a3b>] poke_blanked_console+0x6b/0x80
 [<c0233d32>] vt_console_print+0x212/0x300
 [<c011cd00>] __call_console_drivers+0x60/0x70
 [<c011cde5>] call_console_drivers+0x65/0x120
 [<c021a544>] __delay+0x14/0x20
 [<c02833ed>] i8042_wait_write+0x1d/0x40
 [<c0283533>] i8042_command+0xb3/0xc0
 [<c02835f2>] i8042_aux_write+0x52/0x70
 [<c02804ef>] atkbd_interrupt+0x21f/0x230
 [<c01242d6>] update_wall_time+0x16/0x40
 [<c0282fda>] serio_interrupt+0x5a/0x60
 [<c02838d5>] i8042_interrupt+0x135/0x270
 [<c0123e96>] mod_timer+0x136/0x190
 [<c0234a3b>] poke_blanked_console+0x6b/0x80
 [<c0233d32>] vt_console_print+0x212/0x300
 [<c011cd00>] __call_console_drivers+0x60/0x70
 [<c011cde5>] call_console_drivers+0x65/0x120
 [<c021a544>] __delay+0x14/0x20
 [<c02833ed>] i8042_wait_write+0x1d/0x40
 [<c0283533>] i8042_command+0xb3/0xc0
 [<c02835f2>] i8042_aux_write+0x52/0x70
 [<c02804ef>] atkbd_interrupt+0x21f/0x230
 [<c0124740>] do_timer+0xe0/0xf0
 [<c0282fda>] serio_interrupt+0x5a/0x60
 [<c02838d5>] i8042_interrupt+0x135/0x270
 [<c010bb2e>] do_IRQ+0x11e/0x160
 [<c0114835>] mark_offset_tsc+0x205/0x2a0
 [<c0124466>] update_process_times+0x46/0x50
 [<c01242d6>] update_wall_time+0x16/0x40
 [<c0124740>] do_timer+0xe0/0xf0
 [<c010fb28>] timer_interrupt+0xe8/0x130
 [<c010b72b>] handle_IRQ_event+0x3b/0x70
 [<c010bb2e>] do_IRQ+0x11e/0x160
 [<c0109e8a>] apic_timer_interrupt+0x1a/0x20
 [<c01191b0>] preempt_schedule+0x0/0x50
 [<c0283533>] i8042_command+0xb3/0xc0
 [<c02835f2>] i8042_aux_write+0x52/0x70
 [<c02804ef>] atkbd_interrupt+0x21f/0x230
 [<c0109e68>] common_interrupt+0x18/0x20
 [<c0282fda>] serio_interrupt+0x5a/0x60
 [<c02838d5>] i8042_interrupt+0x135/0x270
 [<c0123e96>] mod_timer+0x136/0x190
 [<c0234a3b>] poke_blanked_console+0x6b/0x80
 [<c0233d32>] vt_console_print+0x212/0x300
 [<c011cd00>] __call_console_drivers+0x60/0x70
 [<c011cde5>] call_console_drivers+0x65/0x120
 [<c0109e8a>] apic_timer_interrupt+0x1a/0x20
 [<c02835f2>] i8042_aux_write+0x52/0x70
 [<c02804ef>] atkbd_interrupt+0x21f/0x230
 [<c0124740>] do_timer+0xe0/0xf0
 [<c0282fda>] serio_interrupt+0x5a/0x60
 [<c02838d5>] i8042_interrupt+0x135/0x270
 [<c010bb2e>] do_IRQ+0x11e/0x160
 [<c0123e96>] mod_timer+0x136/0x190
 [<c0234a3b>] poke_blanked_console+0x6b/0x80
 [<c0233d32>] vt_console_print+0x212/0x300
 [<c011cd00>] __call_console_drivers+0x60/0x70
 [<c011cde5>] call_console_drivers+0x65/0x120
 [<c021a544>] __delay+0x14/0x20
 [<c02833ed>] i8042_wait_write+0x1d/0x40
 [<c0283533>] i8042_command+0xb3/0xc0
 [<c02835f2>] i8042_aux_write+0x52/0x70
 [<c02804ef>] atkbd_interrupt+0x21f/0x230
 [<c01242d6>] update_wall_time+0x16/0x40
 [<c0282fda>] serio_interrupt+0x5a/0x60
 [<c02838d5>] i8042_interrupt+0x135/0x270
 [<c0123e96>] mod_timer+0x136/0x190
 [<c0234a3b>] poke_blanked_console+0x6b/0x80
 [<c0233d32>] vt_console_print+0x212/0x300
 [<c011cd00>] __call_console_drivers+0x60/0x70
 [<c011cde5>] call_console_drivers+0x65/0x120
 [<c021a544>] __delay+0x14/0x20
 [<c02833ed>] i8042_wait_write+0x1d/0x40
 [<c0283533>] i8042_command+0xb3/0xc0
 [<c02835f2>] i8042_aux_write+0x52/0x70
 [<c02804ef>] atkbd_interrupt+0x21f/0x230
 [<c01242d6>] update_wall_time+0x16/0x40
 [<c0282fda>] serio_interrupt+0x5a/0x60
 [<c02838d5>] i8042_interrupt+0x135/0x270
 [<c0114835>] mark_offset_tsc+0x205/0x2a0
 [<c0124466>] update_process_times+0x46/0x50
 [<c01242d6>] update_wall_time+0x16/0x40
 [<c0124740>] do_timer+0xe0/0xf0
 [<c010fb28>] timer_interrupt+0xe8/0x130
 [<c010b72b>] handle_IRQ_event+0x3b/0x70
 [<c010bb2e>] do_IRQ+0x11e/0x160
 [<c0109e68>] common_interrupt+0x18/0x20
 [<c01191b0>] preempt_schedule+0x0/0x50
 [<c0283533>] i8042_command+0xb3/0xc0
 [<c02835f2>] i8042_aux_write+0x52/0x70
 [<c02804ef>] atkbd_interrupt+0x21f/0x230
 [<c01242d6>] update_wall_time+0x16/0x40
 [<c0282fda>] serio_interrupt+0x5a/0x60
 [<c02838d5>] i8042_interrupt+0x135/0x270
 [<c0123e96>] mod_timer+0x136/0x190
 [<c0234a3b>] poke_blanked_console+0x6b/0x80
 [<c0233d32>] vt_console_print+0x212/0x300
 [<c011cd00>] __call_console_drivers+0x60/0x70
 [<c011cde5>] call_console_drivers+0x65/0x120
 [<c0109e8a>] apic_timer_interrupt+0x1a/0x20
 [<c02835f2>] i8042_aux_write+0x52/0x70
 [<c02804ef>] atkbd_interrupt+0x21f/0x230
 [<c01242d6>] update_wall_time+0x16/0x40
 [<c0282fda>] serio_interrupt+0x5a/0x60
 [<c02838d5>] i8042_interrupt+0x135/0x270
 [<c0123e96>] mod_timer+0x136/0x190
 [<c0234a3b>] poke_blanked_console+0x6b/0x80
 [<c0233d32>] vt_console_print+0x212/0x300
 [<c011cd00>] __call_console_drivers+0x60/0x70
 [<c011cde5>] call_console_drivers+0x65/0x120
 [<c021a544>] __delay+0x14/0x20
 [<c02833ed>] i8042_wait_write+0x1d/0x40
 [<c0283533>] i8042_command+0xb3/0xc0
 [<c02835f2>] i8042_aux_write+0x52/0x70
 [<c02804ef>] atkbd_interrupt+0x21f/0x230
 [<c0124740>] do_timer+0xe0/0xf0
 [<c0282fda>] serio_interrupt+0x5a/0x60
 [<c02838d5>] i8042_interrupt+0x135/0x270
 [<c010bb2e>] do_IRQ+0x11e/0x160
 [<c0123e96>] mod_timer+0x136/0x190
 [<c0234a3b>] poke_blanked_console+0x6b/0x80
 [<c0233d32>] vt_console_print+0x212/0x300
 [<c011cd00>] __call_console_drivers+0x60/0x70
 [<c011cde5>] call_console_drivers+0x65/0x120
 [<c021a544>] __delay+0x14/0x20
 [<c02833ed>] i8042_wait_write+0x1d/0x40
 [<c0283533>] i8042_command+0xb3/0xc0
 [<c02835f2>] i8042_aux_write+0x52/0x70
 [<c02804ef>] atkbd_interrupt+0x21f/0x230
 [<c01242d6>] update_wall_time+0x16/0x40
 [<c0282fda>] serio_interrupt+0x5a/0x60
 [<c02838d5>] i8042_interrupt+0x135/0x270
 [<c0114835>] mark_offset_tsc+0x205/0x2a0
 [<c0124466>] update_process_times+0x46/0x50
 [<c01242d6>] update_wall_time+0x16/0x40
 [<c0124740>] do_timer+0xe0/0xf0
 [<c010fb28>] timer_interrupt+0xe8/0x130
 [<c010b72b>] handle_IRQ_event+0x3b/0x70
 [<c010bb2e>] do_IRQ+0x11e/0x160
 [<c0109e68>] common_interrupt+0x18/0x20
 [<c01191b0>] preempt_schedule+0x0/0x50
 [<c0283533>] i8042_command+0xb3/0xc0
 [<c02835f2>] i8042_aux_write+0x52/0x70
 [<c02804ef>] atkbd_interrupt+0x21f/0x230
 [<c0124740>] do_timer+0xe0/0xf0
 [<c0282fda>] serio_interrupt+0x5a/0x60
 [<c02838d5>] i8042_interrupt+0x135/0x270
 [<c010bb2e>] do_IRQ+0x11e/0x160
 [<c0114835>] mark_offset_tsc+0x205/0x2a0
 [<c0124466>] update_process_times+0x46/0x50
 [<c01242d6>] update_wall_time+0x16/0x40
 [<c0124740>] do_timer+0xe0/0xf0
 [<c010fb28>] timer_interrupt+0xe8/0x130
 [<c010b72b>] handle_IRQ_event+0x3b/0x70
 [<c010bb2e>] do_IRQ+0x11e/0x160
 [<c0109e8a>] apic_timer_interrupt+0x1a/0x20
 [<c02835f2>] i8042_aux_write+0x52/0x70
 [<c02804ef>] atkbd_interrupt+0x21f/0x230
 [<c0124740>] do_timer+0xe0/0xf0
 [<c0282fda>] serio_interrupt+0x5a/0x60
 [<c02838d5>] i8042_interrupt+0x135/0x270
 [<c010bb2e>] do_IRQ+0x11e/0x160
 [<c0123e96>] mod_timer+0x136/0x190
 [<c0234a3b>] poke_blanked_console+0x6b/0x80
 [<c0233d32>] vt_console_print+0x212/0x300
 [<c011cd00>] __call_console_drivers+0x60/0x70
 [<c011cde5>] call_console_drivers+0x65/0x120
 [<c021a544>] __delay+0x14/0x20
 [<c02833ed>] i8042_wait_write+0x1d/0x40
 [<c0283533>] i8042_command+0xb3/0xc0
 [<c02835f2>] i8042_aux_write+0x52/0x70
 [<c02804ef>] atkbd_interrupt+0x21f/0x230
 [<c0282fda>] serio_interrupt+0x5a/0x60
 [<c02838d5>] i8042_interrupt+0x135/0x270
 [<c0137e4d>] __alloc_pages+0x8d/0x340
 [<c0114835>] mark_offset_tsc+0x205/0x2a0
 [<c0124466>] update_process_times+0x46/0x50
 [<c01242d6>] update_wall_time+0x16/0x40
 [<c0124740>] do_timer+0xe0/0xf0
 [<c010fb28>] timer_interrupt+0xe8/0x130
 [<c010b72b>] handle_IRQ_event+0x3b/0x70
 [<c010bb2e>] do_IRQ+0x11e/0x160
 [<c0109e68>] common_interrupt+0x18/0x20
 [<c010b72b>] handle_IRQ_event+0x3b/0x70
 [<c010baac>] do_IRQ+0x9c/0x160
 [<c0109e68>] common_interrupt+0x18/0x20
 [<c01148e2>] delay_tsc+0x12/0x20
 [<c021a544>] __delay+0x14/0x20
 [<c028055c>] atkbd_sendbyte+0x5c/0xa0
 [<c0280753>] atkbd_command+0x1b3/0x1c0
 [<c02809f3>] atkbd_probe+0x33/0x160
 [<c0283252>] serio_open+0x12/0x30
 [<c0280e22>] atkbd_connect+0x292/0x300
 [<c0109e68>] common_interrupt+0x18/0x20
 [<c0282d0a>] serio_find_dev+0x6a/0x70
 [<c0283038>] serio_register_port+0x58/0x70
 [<c0398f3b>] i8042_port_register+0x5b/0x90
 [<c0399243>] i8042_init+0x143/0x150
 [<c038080b>] do_initcalls+0x2b/0xa0
 [<c012bd32>] init_workqueues+0x12/0x30
 [<c01050a6>] init+0x36/0x190
 [<c0105070>] init+0x0/0x190
 [<c0107429>] kernel_thread_helper+0x5/0xc

Code: ff 0e 8b 51 04 8b 43 20 89 50 04 89 02 c7 41 04 00 02 20 00
 <0>Kernel panic: Fatal exception in interrupt
In interrupt handler - not syncing
 <1>Unable to handle kernel NULL pointer dereference at virtual address 00000000
 printing eip:
c0125736
*pde = 00000000
Oops: 0002 [#2]
CPU:    0
EIP:    0060:[<c0125736>]    Not tainted
EFLAGS: 00010002
EIP is at send_signal+0x56/0x150
eax: 00000000   ebx: 00000001   ecx: dbdb4910   edx: 00000010
esi: dbef0474   edi: 00000018   ebp: dbe91dcc   esp: dbe91db0
ds: 007b   es: 007b   ss: 0068
Process  (pid: -605094084, threadinfo=dbe90000 task=dbeefec0)
Stack: dbee795c 00000020 dbe91de0 00000000 dbeefec0 00000018 00000000 dbe91df0
       c01258ae 00000018 00000001 dbef0474 00000000 00000002 dbe90000 00000000
       dbe91e10 c0126368 00000018 00000001 dbeefec0 00000001 dbeefec0 00000000
Call Trace:
 [<c01258ae>] specific_send_sig_info+0x7e/0x140
 [<c0126368>] send_sig_info+0x38/0x70
 [<c012440c>] update_one_process+0x10c/0x120
 [<c0124455>] update_process_times+0x35/0x50
 [<c0124695>] do_timer+0x35/0xf0
 [<c010fa92>] timer_interrupt+0x52/0x130
 [<c010b72b>] handle_IRQ_event+0x3b/0x70
 [<c010baac>] do_IRQ+0x9c/0x160
 [<c0109e68>] common_interrupt+0x18/0x20
 [<c011c810>] panic+0xe0/0x110
 [<c010a594>] die+0xd4/0xf0
 [<c011788d>] do_page_fault+0x15d/0x4dc
 [<c01245a2>] run_timer_softirq+0x112/0x1c0
 [<c0119312>] __wake_up_locked+0x22/0x30
 [<c0108463>] __down_trylock+0x53/0x64
 [<c01084a2>] __down_failed_trylock+0xa/0x10
 [<c011d052>] printk+0x142/0x180
 [<c0107429>] kernel_thread_helper+0x5/0xc
 [<c0117730>] do_page_fault+0x0/0x4dc
 [<c0109f05>] error_code+0x2d/0x38
 [<c0107429>] kernel_thread_helper+0x5/0xc
 [<c0107449>] kernel_thread+0x19/0x90

Code: 89 08 89 41 04 74 65 83 fb 01 74 3f 8b 53 08 8d 41 10 85 d2
 <0>Kernel panic: Fatal exception in interrupt
In interrupt handler - not syncing


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

* Re: 2.6.0-test2 has i8042 mux problems
  2003-07-28  2:13 2.6.0-test2 has i8042 mux problems dean gaudet
@ 2003-07-28  3:59 ` Andries Brouwer
  2003-07-29 22:51   ` dean gaudet
  2003-07-28  5:26 ` Claas Langbehn
  2003-07-28 14:29 ` Stefan Reinauer
  2 siblings, 1 reply; 13+ messages in thread
From: Andries Brouwer @ 2003-07-28  3:59 UTC (permalink / raw)
  To: dean gaudet; +Cc: linux-kernel

On Sun, Jul 27, 2003 at 07:13:26PM -0700, dean gaudet wrote:

> this was a bug i reported back a few versions as well -- and i don't think
> i received any responses (nor from the maintainer).
> 
> i've got a box on which 2.4.x works fine, but 2.6.0-test2 gets into a snit
> when it's trying to initialize the i8042.  i can get 2.6.0-test2 to boot
> if i add "i8042_nomux".
> 
> the mux initialization code seems kind of ... wonk -- it seems to write
> values to the registers then read back and if the value is the same then
> it assumes the mux is there.  that seems way too likely to be broken in
> situations when the mux isn't there... it'd be better to be looking for
> some value which is different after writing.

No, it writes f0, 56, a4 and if it gets f0, 56, and not a4, then it assumes
there is a mux.

[This is a Synaptics convention.]

What hardware do you have? And what is the conversation?


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

* Re: 2.6.0-test2 has i8042 mux problems
  2003-07-28  2:13 2.6.0-test2 has i8042 mux problems dean gaudet
  2003-07-28  3:59 ` Andries Brouwer
@ 2003-07-28  5:26 ` Claas Langbehn
  2003-07-28 11:36   ` Andries Brouwer
  2003-07-28 14:29 ` Stefan Reinauer
  2 siblings, 1 reply; 13+ messages in thread
From: Claas Langbehn @ 2003-07-28  5:26 UTC (permalink / raw)
  To: dean gaudet; +Cc: linux-kernel

Hello Dean!


I am not sure, if i understand it, but here I could not use my old
keyboard with kernel 2.6.0-test1. The kernel switched off the keyboard
conntroller while booting.
My keyboard is about 10-12 years old, but it always worked.
There should be a switch for lilo/grub to override the testing.

I have got a via KT400a chipset. The keyboard is an AT/XT-switchable
keaboard.
With a newer PS2-Keyboard it works.


bye, claas

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

* Re: 2.6.0-test2 has i8042 mux problems
  2003-07-28  5:26 ` Claas Langbehn
@ 2003-07-28 11:36   ` Andries Brouwer
  2003-07-28 20:35     ` Claas Langbehn
  2003-07-28 21:09     ` Claas Langbehn
  0 siblings, 2 replies; 13+ messages in thread
From: Andries Brouwer @ 2003-07-28 11:36 UTC (permalink / raw)
  To: Claas Langbehn; +Cc: dean gaudet, linux-kernel

On Mon, Jul 28, 2003 at 07:26:14AM +0200, Claas Langbehn wrote:

> I am not sure, if i understand it, but here I could not use my old
> keyboard with kernel 2.6.0-test1. The kernel switched off the keyboard
> controller while booting.
> My keyboard is about 10-12 years old, but it always worked.
> There should be a switch for lilo/grub to override the testing.
> 
> I have got a via KT400a chipset. The keyboard is an AT/XT-switchable
> keyboard. With a newer PS2-Keyboard it works.

Interesting. Yes, the new keyboard driver knows far too much about
keyboards, and that knowledge is right only in 98% of the cases.
No doubt we'll be forced to back out a lot of probing done now.

Nevertheless it would be interesting to see precisely what happens.
Could you try to change the #undef DEBUG in drivers/input/serio/i8042.c
into #define DEBUG and report what output you get at boot time?


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

* Re: 2.6.0-test2 has i8042 mux problems
  2003-07-28  2:13 2.6.0-test2 has i8042 mux problems dean gaudet
  2003-07-28  3:59 ` Andries Brouwer
  2003-07-28  5:26 ` Claas Langbehn
@ 2003-07-28 14:29 ` Stefan Reinauer
  2003-07-28 16:38   ` dean gaudet
  2 siblings, 1 reply; 13+ messages in thread
From: Stefan Reinauer @ 2003-07-28 14:29 UTC (permalink / raw)
  To: dean gaudet; +Cc: linux-kernel, Andries Brouwer

* dean gaudet <dean-list-linux-kernel@arctic.org> [030728 04:13]:
> i've got a box on which 2.4.x works fine, but 2.6.0-test2 gets into a snit
> when it's trying to initialize the i8042.  i can get 2.6.0-test2 to boot
> if i add "i8042_nomux".
> 
> the mux initialization code seems kind of ... wonk -- it seems to write
> values to the registers then read back and if the value is the same then
> it assumes the mux is there.  that seems way too likely to be broken in
> situations when the mux isn't there... it'd be better to be looking for
> some value which is different after writing.
> 
> the southbridge in this system is the ali1563.  if it helps i can supply a
> complete trace of in/out on ports 0x60 and 0x64.
 
I can confirm this. I have an Amilo A laptop with the following sb:
00:07.0 ISA bridge: ALi Corporation M1533 PCI to ISA Bridge [Aladdin IV]

without "i8042_nomux" the keyboard is recognized fine, but no mouse is
found on the mux. With the option everything works fine.

Stepan



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

* Re: 2.6.0-test2 has i8042 mux problems
  2003-07-28 14:29 ` Stefan Reinauer
@ 2003-07-28 16:38   ` dean gaudet
  2003-08-12 20:56     ` Vojtech Pavlik
  0 siblings, 1 reply; 13+ messages in thread
From: dean gaudet @ 2003-07-28 16:38 UTC (permalink / raw)
  To: Stefan Reinauer; +Cc: linux-kernel, Andries Brouwer

On Mon, 28 Jul 2003, Stefan Reinauer wrote:

> * dean gaudet <dean-list-linux-kernel@arctic.org> [030728 04:13]:
> > the southbridge in this system is the ali1563.  if it helps i can supply a
> > complete trace of in/out on ports 0x60 and 0x64.
>
> I can confirm this. I have an Amilo A laptop with the following sb:
> 00:07.0 ISA bridge: ALi Corporation M1533 PCI to ISA Bridge [Aladdin IV]
>
> without "i8042_nomux" the keyboard is recognized fine, but no mouse is
> found on the mux. With the option everything works fine.

that's slightly different than what i get without i8042_nomux, and a
keyboard & mouse plugged in, the system crashes and burns badly during
boot.  without the keyboard and mouse it boots fine.

with i8042_nomux it's a lot happier.

my system is a test board for a new processor with the ali1563 -- which is
a newer hypertransport variant of the 1533/1535.  i'm not sure yet if
there are production boards with the 1563.  but it's nice to know it
happens with your 1533 as well.

andries -- i'll send you a copy of the in/out traffic (it's a bit large
for posting).

-dean

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

* Re: 2.6.0-test2 has i8042 mux problems
  2003-07-28 11:36   ` Andries Brouwer
@ 2003-07-28 20:35     ` Claas Langbehn
  2003-07-28 21:09     ` Claas Langbehn
  1 sibling, 0 replies; 13+ messages in thread
From: Claas Langbehn @ 2003-07-28 20:35 UTC (permalink / raw)
  To: Andries Brouwer; +Cc: dean gaudet, linux-kernel

> Interesting. Yes, the new keyboard driver knows far too much about
> keyboards, and that knowledge is right only in 98% of the cases.
> No doubt we'll be forced to back out a lot of probing done now.
> 
> Nevertheless it would be interesting to see precisely what happens.
> Could you try to change the #undef DEBUG in drivers/input/serio/i8042.c
> into #define DEBUG and report what output you get at boot time?

This is the only debug message i can see without keyboard.

serio: i8042 AUX Port at 0x60,0x64 irq 12
input: AT set2 keyboard on isa0060/serio0
serio i8042 KBD port at 0x60,0x64 irq 1

Can you tell me how to force the driver to enable my keyboard anyways?
It would be great, because booting is a pain right now.

Regards, claas

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

* Re: 2.6.0-test2 has i8042 mux problems
  2003-07-28 11:36   ` Andries Brouwer
  2003-07-28 20:35     ` Claas Langbehn
@ 2003-07-28 21:09     ` Claas Langbehn
  2003-07-28 22:58       ` Andries Brouwer
  1 sibling, 1 reply; 13+ messages in thread
From: Claas Langbehn @ 2003-07-28 21:09 UTC (permalink / raw)
  To: Andries Brouwer; +Cc: dean gaudet, linux-kernel

Hello!

its strange. After switching debug on, it suddenly works.
Below my debug info.

Regards, claas



>From syslog:
22:53:08 kernel: drivers/input/serio/i8042.c: 20 -> i8042 (command) [0]
22:53:08 kernel: drivers/input/serio/i8042.c: 67 <- i8042 (return) [0]
22:53:08 kernel: drivers/input/serio/i8042.c: 60 -> i8042 (command) [0]
22:53:08 kernel: drivers/input/serio/i8042.c: 76 -> i8042 (parameter) [0]
22:53:08 kernel: drivers/input/serio/i8042.c: d3 -> i8042 (command) [0]
22:53:08 kernel: drivers/input/serio/i8042.c: f0 -> i8042 (parameter) [0]
22:53:08 kernel: drivers/input/serio/i8042.c: 0f <- i8042 (return) [0]
22:53:08 kernel: drivers/input/serio/i8042.c: d3 -> i8042 (command) [0]
22:53:08 kernel: drivers/input/serio/i8042.c: 56 -> i8042 (parameter) [0]
22:53:08 kernel: drivers/input/serio/i8042.c: a9 <- i8042 (return) [0]
22:53:08 kernel: drivers/input/serio/i8042.c: d3 -> i8042 (command) [0]
22:53:08 kernel: drivers/input/serio/i8042.c: a4 -> i8042 (parameter) [0]
22:53:08 kernel: drivers/input/serio/i8042.c: 5b <- i8042 (return) [0]
22:53:08 kernel: drivers/input/serio/i8042.c: d3 -> i8042 (command) [0]
22:53:08 kernel: drivers/input/serio/i8042.c: 5a -> i8042 (parameter) [0]
22:53:08 kernel: drivers/input/serio/i8042.c: a5 <- i8042 (return) [0]
22:53:08 kernel: drivers/input/serio/i8042.c: a7 -> i8042 (command) [0]
22:53:08 kernel: drivers/input/serio/i8042.c: 20 -> i8042 (command) [0]
22:53:08 kernel: drivers/input/serio/i8042.c: 76 <- i8042 (return) [0]
22:53:08 kernel: drivers/input/serio/i8042.c: a8 -> i8042 (command) [0]
22:53:08 kernel: drivers/input/serio/i8042.c: 20 -> i8042 (command) [0]
22:53:08 kernel: drivers/input/serio/i8042.c: 56 <- i8042 (return) [0]
22:53:08 kernel: drivers/input/serio/i8042.c: 60 -> i8042 (command) [0]
22:53:08 kernel: drivers/input/serio/i8042.c: 74 -> i8042 (parameter) [0]
22:53:08 kernel: drivers/input/serio/i8042.c: 60 -> i8042 (command) [0]
22:53:08 kernel: drivers/input/serio/i8042.c: 54 -> i8042 (parameter) [0]
22:53:08 kernel: drivers/input/serio/i8042.c: 60 -> i8042 (command) [0]
22:53:08 kernel: drivers/input/serio/i8042.c: 56 -> i8042 (parameter) [0]
22:53:08 kernel: drivers/input/serio/i8042.c: d4 -> i8042 (command) [0]
22:53:08 kernel: drivers/input/serio/i8042.c: f2 -> i8042 (parameter) [0]
22:53:08 kernel: drivers/input/serio/i8042.c: d4 -> i8042 (command) [99]
22:53:08 kernel: drivers/input/serio/i8042.c: ed -> i8042 (parameter) [99]
22:53:08 kernel: drivers/input/serio/i8042.c: fe <- i8042 (interrupt, aux, 0, timeout) [99]
22:53:08 kernel: drivers/input/serio/i8042.c: 60 -> i8042 (command) [99]
22:53:08 kernel: drivers/input/serio/i8042.c: 54 -> i8042 (parameter) [99]
22:53:08 kernel: drivers/input/serio/i8042.c: fe <- i8042 (flush, kbd) [113]
22:53:08 kernel: drivers/input/serio/i8042.c: 60 -> i8042 (command) [113]
22:53:08 kernel: drivers/input/serio/i8042.c: 56 -> i8042 (parameter) [113]
22:53:08 kernel: drivers/input/serio/i8042.c: d4 -> i8042 (command) [113]
22:53:08 kernel: drivers/input/serio/i8042.c: f2 -> i8042 (parameter) [113]
22:53:08 kernel: drivers/input/serio/i8042.c: 60 -> i8042 (command) [212]
22:53:08 kernel: drivers/input/serio/i8042.c: 54 -> i8042 (parameter) [212]
22:53:08 kernel: drivers/input/serio/i8042.c: fe <- i8042 (flush, kbd) [212]
22:53:08 kernel: serio: i8042 AUX port at 0x60,0x64 irq 12
22:53:08 kernel: drivers/input/serio/i8042.c: 60 -> i8042 (command) [212]
22:53:08 kernel: drivers/input/serio/i8042.c: 44 -> i8042 (parameter) [212]
22:53:08 kernel: drivers/input/serio/i8042.c: 60 -> i8042 (command) [212]
22:53:08 kernel: drivers/input/serio/i8042.c: 45 -> i8042 (parameter) [212]
22:53:08 kernel: drivers/input/serio/i8042.c: f2 -> i8042 (kbd-data) [212]
22:53:08 kernel: drivers/input/serio/i8042.c: fa <- i8042 (interrupt, kbd, 1) [215]
22:53:08 kernel: drivers/input/serio/i8042.c: ab <- i8042 (interrupt, kbd, 1) [217]
22:53:08 kernel: drivers/input/serio/i8042.c: 41 <- i8042 (interrupt, kbd, 1) [218]
22:53:08 kernel: drivers/input/serio/i8042.c: ed -> i8042 (kbd-data) [218]
22:53:08 kernel: drivers/input/serio/i8042.c: fa <- i8042 (interrupt, kbd, 1) [221]
22:53:08 kernel: drivers/input/serio/i8042.c: 00 -> i8042 (kbd-data) [221]
22:53:08 kernel: drivers/input/serio/i8042.c: fa <- i8042 (interrupt, kbd, 1) [224]
22:53:08 kernel: drivers/input/serio/i8042.c: f8 -> i8042 (kbd-data) [224]
22:53:08 kernel: drivers/input/serio/i8042.c: fa <- i8042 (interrupt, kbd, 1) [227]
22:53:08 kernel: drivers/input/serio/i8042.c: f4 -> i8042 (kbd-data) [227]
22:53:08 kernel: drivers/input/serio/i8042.c: fa <- i8042 (interrupt, kbd, 1) [231]
22:53:08 kernel: drivers/input/serio/i8042.c: f0 -> i8042 (kbd-data) [231]
22:53:08 kernel: drivers/input/serio/i8042.c: fa <- i8042 (interrupt, kbd, 1) [234]
22:53:08 kernel: drivers/input/serio/i8042.c: 02 -> i8042 (kbd-data) [234]
22:53:08 kernel: drivers/input/serio/i8042.c: fa <- i8042 (interrupt, kbd, 1) [237]
22:53:08 kernel: drivers/input/serio/i8042.c: f0 -> i8042 (kbd-data) [237]
22:53:08 kernel: drivers/input/serio/i8042.c: fa <- i8042 (interrupt, kbd, 1) [240]
22:53:08 kernel: drivers/input/serio/i8042.c: 00 -> i8042 (kbd-data) [240]
22:53:08 kernel: drivers/input/serio/i8042.c: fa <- i8042 (interrupt, kbd, 1) [243]
22:53:08 kernel: drivers/input/serio/i8042.c: 41 <- i8042 (interrupt, kbd, 1) [244]
22:53:08 kernel: input: AT Set 2 keyboard on isa0060/serio0
22:53:08 kernel: serio: i8042 KBD port at 0x60,0x64 irq 1

>From dmesg:
drivers/input/serio/i8042.c: 20 -> i8042 (command) [0]
drivers/input/serio/i8042.c: 67 <- i8042 (return) [0]
drivers/input/serio/i8042.c: 60 -> i8042 (command) [0]
drivers/input/serio/i8042.c: 76 -> i8042 (parameter) [0]
drivers/input/serio/i8042.c: d3 -> i8042 (command) [0]
drivers/input/serio/i8042.c: f0 -> i8042 (parameter) [0]
drivers/input/serio/i8042.c: 0f <- i8042 (return) [0]
drivers/input/serio/i8042.c: d3 -> i8042 (command) [0]
drivers/input/serio/i8042.c: 56 -> i8042 (parameter) [0]
drivers/input/serio/i8042.c: a9 <- i8042 (return) [0]
drivers/input/serio/i8042.c: d3 -> i8042 (command) [0]
drivers/input/serio/i8042.c: a4 -> i8042 (parameter) [0]
drivers/input/serio/i8042.c: 5b <- i8042 (return) [0]
drivers/input/serio/i8042.c: d3 -> i8042 (command) [0]
drivers/input/serio/i8042.c: 5a -> i8042 (parameter) [0]
drivers/input/serio/i8042.c: a5 <- i8042 (return) [0]
drivers/input/serio/i8042.c: a7 -> i8042 (command) [0]
drivers/input/serio/i8042.c: 20 -> i8042 (command) [0]
drivers/input/serio/i8042.c: 76 <- i8042 (return) [0]
drivers/input/serio/i8042.c: a8 -> i8042 (command) [0]
drivers/input/serio/i8042.c: 20 -> i8042 (command) [0]
drivers/input/serio/i8042.c: 56 <- i8042 (return) [0]
drivers/input/serio/i8042.c: 60 -> i8042 (command) [0]
drivers/input/serio/i8042.c: 74 -> i8042 (parameter) [0]
drivers/input/serio/i8042.c: 60 -> i8042 (command) [0]
drivers/input/serio/i8042.c: 54 -> i8042 (parameter) [0]
drivers/input/serio/i8042.c: 60 -> i8042 (command) [0]
drivers/input/serio/i8042.c: 56 -> i8042 (parameter) [0]
drivers/input/serio/i8042.c: d4 -> i8042 (command) [0]
drivers/input/serio/i8042.c: f2 -> i8042 (parameter) [0]
drivers/input/serio/i8042.c: d4 -> i8042 (command) [99]
drivers/input/serio/i8042.c: ed -> i8042 (parameter) [99]
drivers/input/serio/i8042.c: fe <- i8042 (interrupt, aux, 0, timeout) [99]
drivers/input/serio/i8042.c: 60 -> i8042 (command) [99]
drivers/input/serio/i8042.c: 54 -> i8042 (parameter) [99]
drivers/input/serio/i8042.c: fe <- i8042 (flush, kbd) [113]
drivers/input/serio/i8042.c: 60 -> i8042 (command) [113]
drivers/input/serio/i8042.c: 56 -> i8042 (parameter) [113]
drivers/input/serio/i8042.c: d4 -> i8042 (command) [113]
drivers/input/serio/i8042.c: f2 -> i8042 (parameter) [113]
drivers/input/serio/i8042.c: 60 -> i8042 (command) [212]
drivers/input/serio/i8042.c: 54 -> i8042 (parameter) [212]
drivers/input/serio/i8042.c: fe <- i8042 (flush, kbd) [212]
serio: i8042 AUX port at 0x60,0x64 irq 12
drivers/input/serio/i8042.c: 60 -> i8042 (command) [212]
drivers/input/serio/i8042.c: 44 -> i8042 (parameter) [212]
drivers/input/serio/i8042.c: 60 -> i8042 (command) [212]
drivers/input/serio/i8042.c: 45 -> i8042 (parameter) [212]
drivers/input/serio/i8042.c: f2 -> i8042 (kbd-data) [212]
drivers/input/serio/i8042.c: fa <- i8042 (interrupt, kbd, 1) [215]
drivers/input/serio/i8042.c: ab <- i8042 (interrupt, kbd, 1) [217]
drivers/input/serio/i8042.c: 41 <- i8042 (interrupt, kbd, 1) [218]
drivers/input/serio/i8042.c: ed -> i8042 (kbd-data) [218]
drivers/input/serio/i8042.c: fa <- i8042 (interrupt, kbd, 1) [221]
drivers/input/serio/i8042.c: 00 -> i8042 (kbd-data) [221]
drivers/input/serio/i8042.c: fa <- i8042 (interrupt, kbd, 1) [224]
drivers/input/serio/i8042.c: f8 -> i8042 (kbd-data) [224]
drivers/input/serio/i8042.c: fa <- i8042 (interrupt, kbd, 1) [227]
drivers/input/serio/i8042.c: f4 -> i8042 (kbd-data) [227]
drivers/input/serio/i8042.c: fa <- i8042 (interrupt, kbd, 1) [231]
drivers/input/serio/i8042.c: f0 -> i8042 (kbd-data) [231]
drivers/input/serio/i8042.c: fa <- i8042 (interrupt, kbd, 1) [234]
drivers/input/serio/i8042.c: 02 -> i8042 (kbd-data) [234]
drivers/input/serio/i8042.c: fa <- i8042 (interrupt, kbd, 1) [237]
drivers/input/serio/i8042.c: f0 -> i8042 (kbd-data) [237]
drivers/input/serio/i8042.c: fa <- i8042 (interrupt, kbd, 1) [240]
drivers/input/serio/i8042.c: 00 -> i8042 (kbd-data) [240]
drivers/input/serio/i8042.c: fa <- i8042 (interrupt, kbd, 1) [243]
drivers/input/serio/i8042.c: 41 <- i8042 (interrupt, kbd, 1) [244]
input: AT Set 2 keyboard on isa0060/serio0
serio: i8042 KBD port at 0x60,0x64 irq 1


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

* Re: 2.6.0-test2 has i8042 mux problems
  2003-07-28 21:09     ` Claas Langbehn
@ 2003-07-28 22:58       ` Andries Brouwer
  2003-07-29  7:53         ` Claas Langbehn
  0 siblings, 1 reply; 13+ messages in thread
From: Andries Brouwer @ 2003-07-28 22:58 UTC (permalink / raw)
  To: Claas Langbehn; +Cc: dean gaudet, linux-kernel

On Mon, Jul 28, 2003 at 11:09:10PM +0200, Claas Langbehn wrote:
> Hello!
> 
> its strange. After switching debug on, it suddenly works.

Maybe the timing changed?

[It would also be nice to see a log where things failed.
Probably syslog would still work.]

> Below my debug info.

Thanks! Let me comment it.

-------------------------------------------------------------
check_mux: First we probe for a Synaptics mux. Find none.
check_aux: Then we probe for a PS/2 mouse port. Find one.

Good. Found something. Call serio_register_port().
This searches for attached devices.
We know already that it is the PS/2 mouse port, but who knows
what might be connected. Let us try all devices we know about.

Is it perhaps a keyboard?

> drivers/input/serio/i8042.c: d4 -> i8042 (command) [0]
> drivers/input/serio/i8042.c: f2 -> i8042 (parameter) [0]

We wait for 99 jiffies, but no keyboard ID shows up.
Then try to set LEDs.

> drivers/input/serio/i8042.c: d4 -> i8042 (command) [99]
> drivers/input/serio/i8042.c: ed -> i8042 (parameter) [99]
> drivers/input/serio/i8042.c: fe <- i8042 (interrupt, aux, 0, timeout) [99]

Get an error back. This mouse doesnt want to set its LEDs.

Is it perhaps a mouse?

> drivers/input/serio/i8042.c: d4 -> i8042 (command) [113]
> drivers/input/serio/i8042.c: f2 -> i8042 (parameter) [113]

No mouse ID either. No devices connected to this port, but
at least we have a port:

> serio: i8042 AUX port at 0x60,0x64 irq 12

Then we continue, and check the keyboard side of the i8042 controller.
Things work satisfactorily, we detect a keyboard.

Silly enough we set it to scancode Set 2, but nevertheless give
commands that are only meaningful for scancode Set 3.
Keyboards that know only about Set 2 will be unhappy.

> input: AT Set 2 keyboard on isa0060/serio0
> serio: i8042 KBD port at 0x60,0x64 irq 1

OK, found keyboard.
-------------------------------------------------------------

So far the story of your debug file.
What is your actual hardware? Is there a mouse?

Andries


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

* Re: 2.6.0-test2 has i8042 mux problems
  2003-07-28 22:58       ` Andries Brouwer
@ 2003-07-29  7:53         ` Claas Langbehn
  0 siblings, 0 replies; 13+ messages in thread
From: Claas Langbehn @ 2003-07-29  7:53 UTC (permalink / raw)
  To: Andries Brouwer; +Cc: dean gaudet, linux-kernel

Hello!



> [It would also be nice to see a log where things failed.
> Probably syslog would still work.]

I cannot reproduce the error any more :(
It seems to work now. But dont ask my why.


> So far the story of your debug file.
> What is your actual hardware? Is there a mouse?

There is no PS/2 mouse. There is only the Keytronic KT-452
keyboard. Its about 14 years old and its switchable between
AT and XT. And it has a DIN-Plug. I am using an adaptor.
I just opend it and now i write you the chips inside it:

K450A/452A R.O.C.
PCB NO.P1.810133.01
EIC-8 94HB

big chip:
1. COPAM-8649B
   2204R14 9018KE
   SCN8049H
   (c) Intel 1977
   (m) signetics
   
smaller chips:
2. TI 035 CS
   SN74LS125AN
   MALAYSIA
   
3. 74LS138N
   2103J30
   9018EG

The other keyboard that always worked has this chip inside:
   P8052AH 9706
   9419
   STC-02A
   INTEL (c) 1980


-- claas

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

* Re: 2.6.0-test2 has i8042 mux problems
  2003-07-28  3:59 ` Andries Brouwer
@ 2003-07-29 22:51   ` dean gaudet
  2003-07-30  0:25     ` Andries Brouwer
  0 siblings, 1 reply; 13+ messages in thread
From: dean gaudet @ 2003-07-29 22:51 UTC (permalink / raw)
  To: Andries Brouwer; +Cc: linux-kernel

On Mon, 28 Jul 2003, Andries Brouwer wrote:

> On Sun, Jul 27, 2003 at 07:13:26PM -0700, dean gaudet wrote:
>
> > i've got a box on which 2.4.x works fine, but 2.6.0-test2 gets into a snit
> > when it's trying to initialize the i8042.  i can get 2.6.0-test2 to boot
> > if i add "i8042_nomux".
>
> What hardware do you have? And what is the conversation?

this system has an ali1563 (it's a development board for a new processor).

hope this helps -- i enabled DEBUG in i8042.c:

Loading test..........................
BIOS data check successful
Linux version 2.6.0-test2 (root@zim) (gcc version 3.2.3 (Debian)) #2 Tue Jul 29 12:51:24 PDT 2003
[...snip...]
mice: PS/2 mouse device common for all mice
drivers/input/serio/i8042.c: 20 -> i8042 (command) [0]
drivers/input/serio/i8042.c: 47 <- i8042 (return) [0]
drivers/input/serio/i8042.c: 60 -> i8042 (command) [30]
drivers/input/serio/i8042.c: 56 -> i8042 (parameter) [30]
drivers/input/serio/i8042.c: d3 -> i8042 (command) [61]
drivers/input/serio/i8042.c: f0 -> i8042 (parameter) [61]
drivers/input/serio/i8042.c: 0f <- i8042 (return) [61]
drivers/input/serio/i8042.c: d3 -> i8042 (command) [107]
drivers/input/serio/i8042.c: 56 -> i8042 (parameter) [107]
drivers/input/serio/i8042.c: a9 <- i8042 (return) [107]
drivers/input/serio/i8042.c: d3 -> i8042 (command) [154]
drivers/input/serio/i8042.c: a4 -> i8042 (parameter) [154]
drivers/input/serio/i8042.c: ee <- i8042 (return) [154]
i8042.c: Detected active multiplexing controller, rev 1.1.
drivers/input/serio/i8042.c: 60 -> i8042 (command) [217]
drivers/input/serio/i8042.c: 00 -> i8042 (parameter) [217]
drivers/input/serio/i8042.c: 90 -> i8042 (command) [248]
drivers/input/serio/i8042.c: a8 -> i8042 (command) [264]
drivers/input/serio/i8042.c: 91 -> i8042 (command) [279]
drivers/input/serio/i8042.c: a8 -> i8042 (command) [295]
drivers/input/serio/i8042.c: 92 -> i8042 (command) [311]
drivers/input/serio/i8042.c: a8 -> i8042 (command) [326]
drivers/input/serio/i8042.c: 93 -> i8042 (command) [342]
drivers/input/serio/i8042.c: a8 -> i8042 (command) [357]
drivers/input/serio/i8042.c: 60 -> i8042 (command) [373]
drivers/input/serio/i8042.c: 00 -> i8042 (parameter) [373]
drivers/input/serio/i8042.c: 60 -> i8042 (command) [404]
drivers/input/serio/i8042.c: 02 -> i8042 (parameter) [404]
drivers/input/serio/i8042.c: 90 -> i8042 (command) [436]
drivers/input/serio/i8042.c: f2 -> i8042 (parameter) [436]
drivers/input/serio/i8042.c: fe <- i8042 (interrupt, aux0, 12, timeout) [480]
drivers/input/serio/i8042.c: 90 -> i8042 (command) [501]
drivers/input/serio/i8042.c: ed -> i8042 (parameter) [501]
drivers/input/serio/i8042.c: fe <- i8042 (interrupt, aux0, 12, timeout) [544]
drivers/input/serio/i8042.c: 60 -> i8042 (command) [565]
drivers/input/serio/i8042.c: 00 -> i8042 (parameter) [565]
drivers/input/serio/i8042.c: 60 -> i8042 (command) [597]
drivers/input/serio/i8042.c: 02 -> i8042 (parameter) [597]
drivers/input/serio/i8042.c: 90 -> i8042 (command) [629]
drivers/input/serio/i8042.c: f2 -> i8042 (parameter) [629]
drivers/input/serio/i8042.c: fe <- i8042 (interrupt, aux0, 12, timeout) [673]
drivers/input/serio/i8042.c: 60 -> i8042 (command) [693]
drivers/input/serio/i8042.c: 00 -> i8042 (parameter) [693]
serio: i8042 AUX0 port at 0x60,0x64 irq 12
drivers/input/serio/i8042.c: 60 -> i8042 (command) [737]
drivers/input/serio/i8042.c: 00 -> i8042 (parameter) [737]
drivers/input/serio/i8042.c: 60 -> i8042 (command) [768]
drivers/input/serio/i8042.c: 02 -> i8042 (parameter) [768]
drivers/input/serio/i8042.c: 91 -> i8042 (command) [800]
drivers/input/serio/i8042.c: f2 -> i8042 (parameter) [800]
drivers/input/serio/i8042.c: fe <- i8042 (interrupt, aux1, 12, timeout) [844]
drivers/input/serio/i8042.c: 91 -> i8042 (command) [865]
drivers/input/serio/i8042.c: ed -> i8042 (parameter) [865]
drivers/input/serio/i8042.c: fe <- i8042 (interrupt, aux1, 12, timeout) [910]
drivers/input/serio/i8042.c: 60 -> i8042 (command) [931]
drivers/input/serio/i8042.c: 00 -> i8042 (parameter) [931]
drivers/input/serio/i8042.c: 60 -> i8042 (command) [962]
drivers/input/serio/i8042.c: 02 -> i8042 (parameter) [962]
drivers/input/serio/i8042.c: 91 -> i8042 (command) [994]
drivers/input/serio/i8042.c: f2 -> i8042 (parameter) [994]
drivers/input/serio/i8042.c: fe <- i8042 (interrupt, aux1, 12, timeout) [1038]
drivers/input/serio/i8042.c: 60 -> i8042 (command) [1059]
drivers/input/serio/i8042.c: 00 -> i8042 (parameter) [1059]
serio: i8042 AUX1 port at 0x60,0x64 irq 12
drivers/input/serio/i8042.c: 60 -> i8042 (command) [1103]
drivers/input/serio/i8042.c: 00 -> i8042 (parameter) [1103]
drivers/input/serio/i8042.c: 60 -> i8042 (command) [1135]
drivers/input/serio/i8042.c: 02 -> i8042 (parameter) [1135]
drivers/input/serio/i8042.c: 92 -> i8042 (command) [1168]
drivers/input/serio/i8042.c: f2 -> i8042 (parameter) [1168]
drivers/input/serio/i8042.c: fe <- i8042 (interrupt, aux2, 12, bad parity) [1206]
atkbd.c: frame/parity error: 02
drivers/input/serio/i8042.c: 92 -> i8042 (command) [1237]
drivers/input/serio/i8042.c: fe -> i8042 (parameter) [1237]
drivers/input/serio/i8042.c: fe <- i8042 (interrupt, aux2, 0, bad parity) [1269]
atkbd.c: frame/parity error: 02
drivers/input/serio/i8042.c: 92 -> i8042 (command) [1299]
drivers/input/serio/i8042.c: fe -> i8042 (parameter) [1299]
drivers/input/serio/i8042.c: fe <- i8042 (interrupt, aux2, 0, bad parity) [1332]
atkbd.c: frame/parity error: 02
drivers/input/serio/i8042.c: 92 -> i8042 (command) [1362]
drivers/input/serio/i8042.c: fe -> i8042 (parameter) [1362]
drivers/input/serio/i8042.c: fe <- i8042 (interrupt, aux2, 0, bad parity) [1394]
atkbd.c: frame/parity error: 02
drivers/input/serio/i8042.c: 92 -> i8042 (command) [1425]
drivers/input/serio/i8042.c: fe -> i8042 (parameter) [1425]
drivers/input/serio/i8042.c: fe <- i8042 (interrupt, aux2, 0, bad parity) [1457]
atkbd.c: frame/parity error: 02
drivers/input/serio/i8042.c: 92 -> i8042 (command) [1488]
drivers/input/serio/i8042.c: fe -> i8042 (parameter) [1488]
drivers/input/serio/i8042.c: fe <- i8042 (interrupt, aux2, 0, bad parity) [1520]
atkbd.c: frame/parity error: 02
drivers/input/serio/i8042.c: 92 -> i8042 (command) [1550]
drivers/input/serio/i8042.c: fe -> i8042 (parameter) [1550]
drivers/input/serio/i8042.c: fe <- i8042 (interrupt, aux2, 0, bad parity) [1582]
atkbd.c: frame/parity error: 02
drivers/input/serio/i8042.c: 92 -> i8042 (command) [1613]
drivers/input/serio/i8042.c: fe -> i8042 (parameter) [1613]
drivers/input/serio/i8042.c: fe <- i8042 (interrupt, aux2, 0, bad parity) [1645]
atkbd.c: frame/parity error: 02
drivers/input/serio/i8042.c: 92 -> i8042 (command) [1675]
drivers/input/serio/i8042.c: fe -> i8042 (parameter) [1675]
drivers/input/serio/i8042.c: fe <- i8042 (interrupt, aux2, 0, bad parity) [1708]
atkbd.c: frame/parity error: 02
drivers/input/serio/i8042.c: 92 -> i8042 (command) [1738]
drivers/input/serio/i8042.c: fe -> i8042 (parameter) [1738]
drivers/input/serio/i8042.c: fe <- i8042 (interrupt, aux2, 0, bad parity) [1770]
atkbd.c: frame/parity error: 02
drivers/input/serio/i8042.c: 92 -> i8042 (command) [1801]
drivers/input/serio/i8042.c: fe -> i8042 (parameter) [1801]
drivers/input/serio/i8042.c: fe <- i8042 (interrupt, aux2, 0, bad parity) [1833]
atkbd.c: frame/parity error: 02
drivers/input/serio/i8042.c: 92 -> i8042 (command) [1863]
drivers/input/serio/i8042.c: fe -> i8042 (parameter) [1863]
drivers/input/serio/i8042.c: fe <- i8042 (interrupt, aux2, 0, bad parity) [1895]
atkbd.c: frame/parity error: 02
drivers/input/serio/i8042.c: 92 -> i8042 (command) [1926]
drivers/input/serio/i8042.c: fe -> i8042 (parameter) [1926]
drivers/input/serio/i8042.c: fe <- i8042 (interrupt, aux2, 0, bad parity) [1958]
atkbd.c: frame/parity error: 02
drivers/input/serio/i8042.c: 92 -> i8042 (command) [1989]
drivers/input/serio/i8042.c: fe -> i8042 (parameter) [1989]
drivers/input/serio/i8042.c: fe <- i8042 (interrupt, aux2, 0, bad parity) [2021]
atkbd.c: frame/parity error: 02
drivers/input/serio/i8042.c: 92 -> i8042 (command) [2051]
drivers/input/serio/i8042.c: fe -> i8042 (parameter) [2051]
drivers/input/serio/i8042.c: fe <- i8042 (interrupt, aux2, 0, bad parity) [2083]
atkbd.c: frame/parity error: 02
drivers/input/serio/i8042.c: 92 -> i8042 (command) [2114]
drivers/input/serio/i8042.c: fe -> i8042 (parameter) [2114]
drivers/input/serio/i8042.c: fe <- i8042 (interrupt, aux2, 0, bad parity) [2146]
atkbd.c: frame/parity error: 02
drivers/input/serio/i8042.c: 92 -> i8042 (command) [2176]
drivers/input/serio/i8042.c: fe -> i8042 (parameter) [2176]
drivers/input/serio/i8042.c: fe <- i8042 (interrupt, aux2, 0, bad parity) [2208]
atkbd.c: frame/parity error: 02
drivers/input/serio/i8042.c: 92 -> i8042 (command) [2239]
drivers/input/serio/i8042.c: fe -> i8042 (parameter) [2239]
drivers/input/serio/i8042.c: fe <- i8042 (interrupt, aux2, 0, bad parity) [2271]
atkbd.c: frame/parity error: 02
drivers/input/serio/i8042.c: 92 -> i8042 (command) [2302]
drivers/input/serio/i8042.c: fe -> i8042 (parameter) [2302]
drivers/input/serio/i8042.c: fe <- i8042 (interrupt, aux2, 0, bad parity) [2334]
atkbd.c: frame/parity error: 02
drivers/input/serio/i8042.c: 92 -> i8042 (command) [2364]
drivers/input/serio/i8042.c: fe -> i8042 (parameter) [2364]
drivers/input/serio/i8042.c: fe <- i8042 (interrupt, aux2, 0, bad parity) [2396]
atkbd.c: frame/parity error: 02
drivers/input/serio/i8042.c: 92 -> i8042 (command) [2427]
drivers/input/serio/i8042.c: fe -> i8042 (parameter) [2427]
drivers/input/serio/i8042.c: fe <- i8042 (interrupt, aux2, 0, bad parity) [2459]
atkbd.c: frame/parity error: 02
drivers/input/serio/i8042.c: 92 -> i8042 (command) [2489]
drivers/input/serio/i8042.c: fe -> i8042 (parameter) [2489]
drivers/input/serio/i8042.c: fe <- i8042 (interrupt, aux2, 0, bad parity) [2521]
atkbd.c: frame/parity error: 02
drivers/input/serio/i8042.c: 92 -> i8042 (command) [2552]
drivers/input/serio/i8042.c: fe -> i8042 (parameter) [2552]
drivers/input/serio/i8042.c: fe <- i8042 (interrupt, aux2, 0, bad parity) [2584]
atkbd.c: frame/parity error: 02
drivers/input/serio/i8042.c: 92 -> i8042 (command) [2614]
drivers/input/serio/i8042.c: fe -> i8042 (parameter) [2614]
drivers/input/serio/i8042.c: fe <- i8042 (interrupt, aux2, 0, bad parity) [2647]
atkbd.c: frame/parity error: 02
drivers/input/serio/i8042.c: 92 -> i8042 (command) [2678]
drivers/input/serio/i8042.c: fe -> i8042 (parameter) [2678]
drivers/input/serio/i8042.c: fe <- i8042 (interrupt, aux2, 0, bad parity) [2710]
atkbd.c: frame/parity error: 02
drivers/input/serio/i8042.c: 92 -> i8042 (command) [2741]
drivers/input/serio/i8042.c: fe -> i8042 (parameter) [2741]
drivers/input/serio/i8042.c: fe <- i8042 (interrupt, aux2, 0, bad parity) [2773]
atkbd.c: frame/parity error: 02
drivers/input/serio/i8042.c: 92 -> i8042 (command) [2803]
drivers/input/serio/i8042.c: fe -> i8042 (parameter) [2803]
drivers/input/serio/i8042.c: fe <- i8042 (interrupt, aux2, 0, bad parity) [2835]
atkbd.c: frame/parity error: 02
drivers/input/serio/i8042.c: 92 -> i8042 (command) [2866]
drivers/input/serio/i8042.c: fe -> i8042 (parameter) [2866]
drivers/input/serio/i8042.c: fe <- i8042 (interrupt, aux2, 0, bad parity) [2898]
atkbd.c: frame/parity error: 02
drivers/input/serio/i8042.c: 92 -> i8042 (command) [2929]
drivers/input/serio/i8042.c: fe -> i8042 (parameter) [2929]
drivers/input/serio/i8042.c: fe <- i8042 (interrupt, aux2, 0, bad parity) [2961]
atkbd.c: frame/parity error: 02
drivers/input/serio/i8042.c: 92 -> i8042 (command) [2992]
drivers/input/serio/i8042.c: fe -> i8042 (parameter) [2992]
drivers/input/serio/i8042.c: fe <- i8042 (interrupt, aux2, 0, bad parity) [3024]
atkbd.c: frame/parity error: 02
drivers/input/serio/i8042.c: 92 -> i8042 (command) [3054]
drivers/input/serio/i8042.c: fe -> i8042 (parameter) [3054]
drivers/input/serio/i8042.c: fe <- i8042 (interrupt, aux2, 0, bad parity) [3086]
atkbd.c: frame/parity error: 02
drivers/input/serio/i8042.c: 92 -> i8042 (command) [3117]
drivers/input/serio/i8042.c: fe -> i8042 (parameter) [3117]
drivers/input/serio/i8042.c: fe <- i8042 (interrupt, aux2, 0, bad parity) [3149]
atkbd.c: frame/parity error: 02
drivers/input/serio/i8042.c: 92 -> i8042 (command) [3179]
drivers/input/serio/i8042.c: fe -> i8042 (parameter) [3179]
drivers/input/serio/i8042.c: fe <- i8042 (interrupt, aux2, 0, bad parity) [3211]
atkbd.c: frame/parity error: 02
drivers/input/serio/i8042.c: 92 -> i8042 (command) [3242]
drivers/input/serio/i8042.c: fe -> i8042 (parameter) [3242]
drivers/input/serio/i8042.c: fe <- i8042 (interrupt, aux2, 0, bad parity) [3274]
atkbd.c: frame/parity error: 02
drivers/input/serio/i8042.c: 92 -> i8042 (command) [3305]
drivers/input/serio/i8042.c: fe -> i8042 (parameter) [3305]
drivers/inp<1>Unable to handle kernel NULL pointer dereference at virtual address 0000001d
 printing eip:
c0118b0a
*pde = 00000000
Oops: 0000 [#1]
CPU:    0
EIP:    0060:[<c0118b0a>]    Not tainted
EFLAGS: 00010007
EIP is at scheduler_tick+0x6a/0x340
eax: 00000000   ebx: 00000001   ecx: 00000001   edx: 00000000
esi: 00000001   edi: 00000000   ebp: dbe9002c   esp: dbe90014
ds: 007b   es: 007b   ss: 0068
Process \x12À Ñ3ÀØ\x16>À (pid: -606380032, threadinfo=dbe8e000 task=dbe91240)
Stack: 00000007 00000000 00000000 00000000 00000001 00000000 dbe9004c c0124466
       00000000 00000001 00000001 00000000 dbe90000 dbe900c4 dbe9005c c0124695
       00000000 dbe90000 dbe90074 c010fa92 dbe900c4 c033bd84 20000001 00000000
Call Trace:
 [<c0124466>] update_process_times+0x46/0x50
 [<c0124695>] do_timer+0x35/0xf0
 [<c010fa92>] timer_interrupt+0x52/0x130
 [<c010b72b>] handle_IRQ_event+0x3b/0x70
 [<c010baac>] do_IRQ+0x9c/0x160
 [<c0109e68>] common_interrupt+0x18/0x20
 [<c01148e2>] delay_tsc+0x12/0x20
 [<c021a544>] __delay+0x14/0x20
 [<c023b192>] serial8250_console_write+0xb2/0x280
 [<c011cd00>] __call_console_drivers+0x60/0x70
 [<c011ce00>] call_console_drivers+0x80/0x120
 [<c011d14f>] release_console_sem+0x5f/0xe0
 [<c011d028>] printk+0x118/0x180
 [<c0283a48>] i8042_interrupt+0x198/0x3b0
 [<c0123e96>] mod_timer+0x136/0x190
 [<c0114835>] mark_offset_tsc+0x205/0x2a0
 [<c0124466>] update_process_times+0x46/0x50
 [<c01245a2>] run_timer_softirq+0x112/0x1c0
 [<c0124740>] do_timer+0xe0/0xf0
 [<c010bb27>] do_IRQ+0x117/0x160
 [<c0109e68>] common_interrupt+0x18/0x20
 [<c01191b0>] preempt_schedule+0x0/0x50
 [<c028351b>] i8042_command+0x6b/0x180
 [<c0283702>] i8042_aux_write+0x52/0x70
 [<c02804ef>] atkbd_interrupt+0x21f/0x230
 [<c011d028>] printk+0x118/0x180
 [<c0282fda>] serio_interrupt+0x5a/0x60
 [<c0283a79>] i8042_interrupt+0x1c9/0x3b0
 [<c0123e96>] mod_timer+0x136/0x190
 [<c0114835>] mark_offset_tsc+0x205/0x2a0
 [<c0124466>] update_process_times+0x46/0x50
 [<c01245a2>] run_timer_softirq+0x112/0x1c0
 [<c010bb27>] do_IRQ+0x117/0x160
 [<c0109e68>] common_interrupt+0x18/0x20
 [<c01191b0>] preempt_schedule+0x0/0x50
 [<c028351b>] i8042_command+0x6b/0x180
 [<c0283702>] i8042_aux_write+0x52/0x70
 [<c02804ef>] atkbd_interrupt+0x21f/0x230
 [<c011d028>] printk+0x118/0x180
 [<c0282fda>] serio_interrupt+0x5a/0x60
 [<c0283a79>] i8042_interrupt+0x1c9/0x3b0
 [<c0123e96>] mod_timer+0x136/0x190
 [<c0114835>] mark_offset_tsc+0x205/0x2a0
 [<c0124466>] update_process_times+0x46/0x50
 [<c01245a2>] run_timer_softirq+0x112/0x1c0
 [<c0124740>] do_timer+0xe0/0xf0
 [<c010bb27>] do_IRQ+0x117/0x160
 [<c0109e68>] common_interrupt+0x18/0x20
 [<c01191b0>] preempt_schedule+0x0/0x50
 [<c028351b>] i8042_command+0x6b/0x180
 [<c0283702>] i8042_aux_write+0x52/0x70
 [<c02804ef>] atkbd_interrupt+0x21f/0x230
 [<c011d028>] printk+0x118/0x180
 [<c0282fda>] serio_interrupt+0x5a/0x60
 [<c0283a79>] i8042_interrupt+0x1c9/0x3b0
 [<c0123e96>] mod_timer+0x136/0x190
 [<c0114835>] mark_offset_tsc+0x205/0x2a0
 [<c0124466>] update_process_times+0x46/0x50
 [<c01245a2>] run_timer_softirq+0x112/0x1c0
 [<c010bb27>] do_IRQ+0x117/0x160
 [<c0109e68>] common_interrupt+0x18/0x20
 [<c01191b0>] preempt_schedule+0x0/0x50
 [<c028351b>] i8042_command+0x6b/0x180
 [<c0283702>] i8042_aux_write+0x52/0x70
 [<c02804ef>] atkbd_interrupt+0x21f/0x230
 [<c011d028>] printk+0x118/0x180
 [<c0282fda>] serio_interrupt+0x5a/0x60
 [<c0283a79>] i8042_interrupt+0x1c9/0x3b0
 [<c0123e96>] mod_timer+0x136/0x190
 [<c0114835>] mark_offset_tsc+0x205/0x2a0
 [<c0124466>] update_process_times+0x46/0x50
 [<c01245a2>] run_timer_softirq+0x112/0x1c0
 [<c0124740>] do_timer+0xe0/0xf0
 [<c010bb27>] do_IRQ+0x117/0x160
 [<c0109e68>] common_interrupt+0x18/0x20
 [<c01191b0>] preempt_schedule+0x0/0x50
 [<c028351b>] i8042_command+0x6b/0x180
 [<c0283702>] i8042_aux_write+0x52/0x70
 [<c02804ef>] atkbd_interrupt+0x21f/0x230
 [<c011d028>] printk+0x118/0x180
 [<c0282fda>] serio_interrupt+0x5a/0x60
 [<c0283a79>] i8042_interrupt+0x1c9/0x3b0
 [<c0123e96>] mod_timer+0x136/0x190
 [<c0114835>] mark_offset_tsc+0x205/0x2a0
 [<c0124466>] update_process_times+0x46/0x50
 [<c01245a2>] run_timer_softirq+0x112/0x1c0
 [<c010bb27>] do_IRQ+0x117/0x160
 [<c0109e68>] common_interrupt+0x18/0x20
 [<c01191b0>] preempt_schedule+0x0/0x50
 [<c028351b>] i8042_command+0x6b/0x180
 [<c0283702>] i8042_aux_write+0x52/0x70
 [<c02804ef>] atkbd_interrupt+0x21f/0x230
 [<c011d028>] printk+0x118/0x180
 [<c0282fda>] serio_interrupt+0x5a/0x60
 [<c0283a79>] i8042_interrupt+0x1c9/0x3b0
 [<c0123e96>] mod_timer+0x136/0x190
 [<c0114835>] mark_offset_tsc+0x205/0x2a0
 [<c0124466>] update_process_times+0x46/0x50
 [<c01245a2>] run_timer_softirq+0x112/0x1c0
 [<c0124740>] do_timer+0xe0/0xf0
 [<c010bb27>] do_IRQ+0x117/0x160
 [<c0109e68>] common_interrupt+0x18/0x20
 [<c01191b0>] preempt_schedule+0x0/0x50
 [<c028351b>] i8042_command+0x6b/0x180
 [<c0283702>] i8042_aux_write+0x52/0x70
 [<c02804ef>] atkbd_interrupt+0x21f/0x230
 [<c011d028>] printk+0x118/0x180
 [<c0282fda>] serio_interrupt+0x5a/0x60
 [<c0283a79>] i8042_interrupt+0x1c9/0x3b0
 [<c0123e96>] mod_timer+0x136/0x190
 [<c0114835>] mark_offset_tsc+0x205/0x2a0
 [<c0124466>] update_process_times+0x46/0x50
 [<c01245a2>] run_timer_softirq+0x112/0x1c0
 [<c010bb27>] do_IRQ+0x117/0x160
 [<c0109e68>] common_interrupt+0x18/0x20
 [<c01191b0>] preempt_schedule+0x0/0x50
 [<c028351b>] i8042_command+0x6b/0x180
 [<c0283702>] i8042_aux_write+0x52/0x70
 [<c02804ef>] atkbd_interrupt+0x21f/0x230
 [<c011d028>] printk+0x118/0x180
 [<c0282fda>] serio_interrupt+0x5a/0x60
 [<c0283a79>] i8042_interrupt+0x1c9/0x3b0
 [<c0123e96>] mod_timer+0x136/0x190
 [<c0114835>] mark_offset_tsc+0x205/0x2a0
 [<c0124466>] update_process_times+0x46/0x50
 [<c01245a2>] run_timer_softirq+0x112/0x1c0
 [<c0124740>] do_timer+0xe0/0xf0
 [<c010bb27>] do_IRQ+0x117/0x160
 [<c0109e68>] common_interrupt+0x18/0x20
 [<c01191b0>] preempt_schedule+0x0/0x50
 [<c028351b>] i8042_command+0x6b/0x180
 [<c0283702>] i8042_aux_write+0x52/0x70
 [<c02804ef>] atkbd_interrupt+0x21f/0x230
 [<c011d028>] printk+0x118/0x180
 [<c0282fda>] serio_interrupt+0x5a/0x60
 [<c0283a79>] i8042_interrupt+0x1c9/0x3b0
 [<c0123e96>] mod_timer+0x136/0x190
 [<c0114835>] mark_offset_tsc+0x205/0x2a0
 [<c0124466>] update_process_times+0x46/0x50
 [<c01245a2>] run_timer_softirq+0x112/0x1c0
 [<c010bb27>] do_IRQ+0x117/0x160
 [<c0109e68>] common_interrupt+0x18/0x20
 [<c01191b0>] preempt_schedule+0x0/0x50
 [<c028351b>] i8042_command+0x6b/0x180
 [<c0283702>] i8042_aux_write+0x52/0x70
 [<c02804ef>] atkbd_interrupt+0x21f/0x230
 [<c011d028>] printk+0x118/0x180
 [<c0282fda>] serio_interrupt+0x5a/0x60
 [<c0283a79>] i8042_interrupt+0x1c9/0x3b0
 [<c0123e96>] mod_timer+0x136/0x190
 [<c0114835>] mark_offset_tsc+0x205/0x2a0
 [<c0124466>] update_process_times+0x46/0x50
 [<c01245a2>] run_timer_softirq+0x112/0x1c0
 [<c0124740>] do_timer+0xe0/0xf0
 [<c010bb27>] do_IRQ+0x117/0x160
 [<c0109e68>] common_interrupt+0x18/0x20
 [<c01191b0>] preempt_schedule+0x0/0x50
 [<c028351b>] i8042_command+0x6b/0x180
 [<c0283702>] i8042_aux_write+0x52/0x70
 [<c02804ef>] atkbd_interrupt+0x21f/0x230
 [<c011d028>] printk+0x118/0x180
 [<c0282fda>] serio_interrupt+0x5a/0x60
 [<c0283a79>] i8042_interrupt+0x1c9/0x3b0
 [<c0123e96>] mod_timer+0x136/0x190
 [<c0114835>] mark_offset_tsc+0x205/0x2a0
 [<c0124466>] update_process_times+0x46/0x50
 [<c01245a2>] run_timer_softirq+0x112/0x1c0
 [<c010bb27>] do_IRQ+0x117/0x160
 [<c0109e68>] common_interrupt+0x18/0x20
 [<c01191b0>] preempt_schedule+0x0/0x50
 [<c028351b>] i8042_command+0x6b/0x180
 [<c0283702>] i8042_aux_write+0x52/0x70
 [<c02804ef>] atkbd_interrupt+0x21f/0x230
 [<c011d028>] printk+0x118/0x180
 [<c0282fda>] serio_interrupt+0x5a/0x60
 [<c0283a79>] i8042_interrupt+0x1c9/0x3b0
 [<c0123e96>] mod_timer+0x136/0x190
 [<c0114835>] mark_offset_tsc+0x205/0x2a0
 [<c0124466>] update_process_times+0x46/0x50
 [<c01245a2>] run_timer_softirq+0x112/0x1c0
 [<c0124740>] do_timer+0xe0/0xf0
 [<c010bb27>] do_IRQ+0x117/0x160
 [<c0109e68>] common_interrupt+0x18/0x20
 [<c01191b0>] preempt_schedule+0x0/0x50
 [<c028351b>] i8042_command+0x6b/0x180
 [<c0283702>] i8042_aux_write+0x52/0x70
 [<c02804ef>] atkbd_interrupt+0x21f/0x230
 [<c011d028>] printk+0x118/0x180
 [<c0282fda>] serio_interrupt+0x5a/0x60
 [<c0283a79>] i8042_interrupt+0x1c9/0x3b0
 [<c0123e96>] mod_timer+0x136/0x190
 [<c0114835>] mark_offset_tsc+0x205/0x2a0
 [<c0124466>] update_process_times+0x46/0x50
 [<c01245a2>] run_timer_softirq+0x112/0x1c0
 [<c010bb27>] do_IRQ+0x117/0x160
 [<c0109e68>] common_interrupt+0x18/0x20
 [<c01191b0>] preempt_schedule+0x0/0x50
 [<c028351b>] i8042_command+0x6b/0x180
 [<c0283702>] i8042_aux_write+0x52/0x70
 [<c02804ef>] atkbd_interrupt+0x21f/0x230
 [<c011d028>] printk+0x118/0x180
 [<c0282fda>] serio_interrupt+0x5a/0x60
 [<c0283a79>] i8042_interrupt+0x1c9/0x3b0
 [<c0123e96>] mod_timer+0x136/0x190
 [<c0114835>] mark_offset_tsc+0x205/0x2a0
 [<c0124466>] update_process_times+0x46/0x50
 [<c01245a2>] run_timer_softirq+0x112/0x1c0
 [<c0124740>] do_timer+0xe0/0xf0
 [<c010bb27>] do_IRQ+0x117/0x160
 [<c0109e68>] common_interrupt+0x18/0x20
 [<c01191b0>] preempt_schedule+0x0/0x50
 [<c028351b>] i8042_command+0x6b/0x180
 [<c0283702>] i8042_aux_write+0x52/0x70
 [<c02804ef>] atkbd_interrupt+0x21f/0x230
 [<c011d028>] printk+0x118/0x180
 [<c0282fda>] serio_interrupt+0x5a/0x60
 [<c0283a79>] i8042_interrupt+0x1c9/0x3b0
 [<c0123e96>] mod_timer+0x136/0x190
 [<c0114835>] mark_offset_tsc+0x205/0x2a0
 [<c0124466>] update_process_times+0x46/0x50
 [<c01245a2>] run_timer_softirq+0x112/0x1c0
 [<c010bb27>] do_IRQ+0x117/0x160
 [<c0109e68>] common_interrupt+0x18/0x20
 [<c01191b0>] preempt_schedule+0x0/0x50
 [<c028351b>] i8042_command+0x6b/0x180
 [<c0283702>] i8042_aux_write+0x52/0x70
 [<c02804ef>] atkbd_interrupt+0x21f/0x230
 [<c011d028>] printk+0x118/0x180
 [<c0282fda>] serio_interrupt+0x5a/0x60
 [<c0283a79>] i8042_interrupt+0x1c9/0x3b0
 [<c0123e96>] mod_timer+0x136/0x190
 [<c0114835>] mark_offset_tsc+0x205/0x2a0
 [<c0124466>] update_process_times+0x46/0x50
 [<c01245a2>] run_timer_softirq+0x112/0x1c0
 [<c0124740>] do_timer+0xe0/0xf0
 [<c010bb27>] do_IRQ+0x117/0x160
 [<c0109e68>] common_interrupt+0x18/0x20
 [<c01191b0>] preempt_schedule+0x0/0x50
 [<c028351b>] i8042_command+0x6b/0x180
 [<c0283702>] i8042_aux_write+0x52/0x70
 [<c02804ef>] atkbd_interrupt+0x21f/0x230
 [<c011d028>] printk+0x118/0x180
 [<c0282fda>] serio_interrupt+0x5a/0x60
 [<c0283a79>] i8042_interrupt+0x1c9/0x3b0
 [<c0123e96>] mod_timer+0x136/0x190
 [<c0114835>] mark_offset_tsc+0x205/0x2a0
 [<c0124466>] update_process_times+0x46/0x50
 [<c01242d6>] update_wall_time+0x16/0x40
 [<c0124740>] do_timer+0xe0/0xf0
 [<c010fb28>] timer_interrupt+0xe8/0x130

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

* Re: 2.6.0-test2 has i8042 mux problems
  2003-07-29 22:51   ` dean gaudet
@ 2003-07-30  0:25     ` Andries Brouwer
  0 siblings, 0 replies; 13+ messages in thread
From: Andries Brouwer @ 2003-07-30  0:25 UTC (permalink / raw)
  To: dean gaudet; +Cc: linux-kernel

On Tue, Jul 29, 2003 at 03:51:04PM -0700, dean gaudet wrote:

> i've got a box on which 2.4.x works fine, but 2.6.0-test2 gets into a snit
> when it's trying to initialize the i8042.  i can get 2.6.0-test2 to boot
> if i add "i8042_nomux".

> this system has an ali1563 (it's a development board for a new processor).
> 
> serio/i8042.c: d3 -> i8042 (command) [61]
> serio/i8042.c: f0 -> i8042 (parameter) [61]
> serio/i8042.c: 0f <- i8042 (return) [61]
> serio/i8042.c: d3 -> i8042 (command) [107]
> serio/i8042.c: 56 -> i8042 (parameter) [107]
> serio/i8042.c: a9 <- i8042 (return) [107]
> serio/i8042.c: d3 -> i8042 (command) [154]
> serio/i8042.c: a4 -> i8042 (parameter) [154]
> serio/i8042.c: ee <- i8042 (return) [154]
> i8042.c: Detected active multiplexing controller, rev 1.1.

The controller follows the synaptics mux protocol.

> serio/i8042.c: 90 -> i8042 (command) [248]
> serio/i8042.c: a8 -> i8042 (command) [264]
> serio/i8042.c: 91 -> i8042 (command) [279]
> serio/i8042.c: a8 -> i8042 (command) [295]
> serio/i8042.c: 92 -> i8042 (command) [311]
> serio/i8042.c: a8 -> i8042 (command) [326]
> serio/i8042.c: 93 -> i8042 (command) [342]
> serio/i8042.c: a8 -> i8042 (command) [357]

Enable all Aux devices.
Start investigating the first one.

> serio/i8042.c: 90 -> i8042 (command) [436]
> serio/i8042.c: f2 -> i8042 (parameter) [436]
> serio/i8042.c: fe <- i8042 (interrupt, aux0, 12, timeout) [480]
> serio/i8042.c: 90 -> i8042 (command) [501]
> serio/i8042.c: ed -> i8042 (parameter) [501]
> serio/i8042.c: fe <- i8042 (interrupt, aux0, 12, timeout) [544]

No keyboard.

> serio/i8042.c: 90 -> i8042 (command) [629]
> serio/i8042.c: f2 -> i8042 (parameter) [629]
> serio/i8042.c: fe <- i8042 (interrupt, aux0, 12, timeout) [673]

No mouse.
Only a port.

> serio: i8042 AUX0 port at 0x60,0x64 irq 12

Start investigating the second one. Same results.

> serio: i8042 AUX1 port at 0x60,0x64 irq 12

Start investigating the third one.

> serio/i8042.c: 92 -> i8042 (command) [1168]
> serio/i8042.c: f2 -> i8042 (parameter) [1168]
> serio/i8042.c: fe <- i8042 (interrupt, aux2, 12, bad parity) [1206]
> atkbd.c: frame/parity error: 02

This time the keyboard is really unhappy.
The kernel asks for resend. I think invoking undefined behaviour.

...
> serio/i8042.c: 92 -> i8042 (command) [3242]
> serio/i8042.c: fe -> i8042 (parameter) [3242]
> serio/i8042.c: fe <- i8042 (interrupt, aux2, 0, bad parity) [3274]
> atkbd.c: frame/parity error: 02
> serio/i8042.c: 92 -> i8042 (command) [3305]
> serio/i8042.c: fe -> i8042 (parameter) [3305]

And then the kernel crashes...
[with an interesting interrupt within interrupt crash, to be looked at]

> drivers/inp<1>Unable to handle kernel NULL pointer dereference at virtual address 0000001d

[Since you have some new experimental board, I wonder:

My docs - the numbering has changed, but today it is
 http://www.win.tue.nl/~aeb/linux/kbd/scancodes-8.html#kcc90
know about the commands 90-93 as Synaptics prefixes,
but also about the commands 90-9f that set certain lines
(on VIA chipsets).

Do you know anything about the innards? Is it supposed to follow
this Synaptics protocol?]

Do things go slightly better if you comment out the line
	serio_write(serio, ATKBD_CMD_RESEND);
in atkbd.c?

Andries


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

* Re: 2.6.0-test2 has i8042 mux problems
  2003-07-28 16:38   ` dean gaudet
@ 2003-08-12 20:56     ` Vojtech Pavlik
  0 siblings, 0 replies; 13+ messages in thread
From: Vojtech Pavlik @ 2003-08-12 20:56 UTC (permalink / raw)
  To: dean gaudet; +Cc: Stefan Reinauer, linux-kernel, Andries Brouwer

On Mon, Jul 28, 2003 at 09:38:15AM -0700, dean gaudet wrote:
> On Mon, 28 Jul 2003, Stefan Reinauer wrote:
> 
> > * dean gaudet <dean-list-linux-kernel@arctic.org> [030728 04:13]:
> > > the southbridge in this system is the ali1563.  if it helps i can supply a
> > > complete trace of in/out on ports 0x60 and 0x64.
> >
> > I can confirm this. I have an Amilo A laptop with the following sb:
> > 00:07.0 ISA bridge: ALi Corporation M1533 PCI to ISA Bridge [Aladdin IV]
> >
> > without "i8042_nomux" the keyboard is recognized fine, but no mouse is
> > found on the mux. With the option everything works fine.
> 
> that's slightly different than what i get without i8042_nomux, and a
> keyboard & mouse plugged in, the system crashes and burns badly during
> boot.  without the keyboard and mouse it boots fine.
> 
> with i8042_nomux it's a lot happier.
> 
> my system is a test board for a new processor with the ali1563 -- which is
> a newer hypertransport variant of the 1533/1535.  i'm not sure yet if
> there are production boards with the 1563.  but it's nice to know it
> happens with your 1533 as well.

Hmm, I think I may have a similar bridge around ... I'll try.

> andries -- i'll send you a copy of the in/out traffic (it's a bit large
> for posting).
> 
> -dean
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/

-- 
Vojtech Pavlik
SuSE Labs, SuSE CR

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

end of thread, other threads:[~2003-08-12 20:56 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-07-28  2:13 2.6.0-test2 has i8042 mux problems dean gaudet
2003-07-28  3:59 ` Andries Brouwer
2003-07-29 22:51   ` dean gaudet
2003-07-30  0:25     ` Andries Brouwer
2003-07-28  5:26 ` Claas Langbehn
2003-07-28 11:36   ` Andries Brouwer
2003-07-28 20:35     ` Claas Langbehn
2003-07-28 21:09     ` Claas Langbehn
2003-07-28 22:58       ` Andries Brouwer
2003-07-29  7:53         ` Claas Langbehn
2003-07-28 14:29 ` Stefan Reinauer
2003-07-28 16:38   ` dean gaudet
2003-08-12 20:56     ` Vojtech Pavlik

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).