LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Kernel (https://www.linuxquestions.org/questions/linux-kernel-70/)
-   -   Possible race condition between HID-USB and i8042 (https://www.linuxquestions.org/questions/linux-kernel-70/possible-race-condition-between-hid-usb-and-i8042-703717/)

Brad.Scalio@noaa.gov 02-10-2009 04:46 PM

Possible race condition between HID-USB and i8042
 
We recently replaced PS/2 mice with USB optical mice on our networks computers. Only a few sites are having issues, but those who do, continue to see panics on boot with the following backtrace attached.

It looks like there may be a race condition between the hid-usb driver and the i8042 driver at some point during the boot up. This is on RHEL4u5 kernel (2.6.9-55EL.smp). Google wasn't extremely helpful ... i8042.nomux=1 was given as apossibility to pass to the kernel on boot up.

Any ideas would be appreciated. The problem is reproducable about 5 out of 10 reboots, and occurs on RHEL4u2 as well. The site hasn't had time to troubleshoot with me but figured maybe someone has had similar issues.

Code:

Linux version 2.6.9-55.0.2.ELsmp (brewbuilder@hs20-bc2-3.build.redhat.com) (gcc version 3.4.6 20060404 (Red Hat 3.4.6-8)) #1 SMP Tue Jun 12 17:59:08 EDT 2007
BIOS-provided physical RAM map:
 BIOS-e820: 0000000000000000 - 000000000009ec00 (usable)
 BIOS-e820: 000000000009ec00 - 00000000000a0000 (reserved)
 BIOS-e820: 00000000000e8000 - 0000000000100000 (reserved)
 BIOS-e820: 0000000000100000 - 000000007fff5000 (usable)
 BIOS-e820: 000000007fff5000 - 0000000080000000 (reserved)
 BIOS-e820: 00000000fec00000 - 0000000100000000 (reserved)
1151MB HIGHMEM available.
896MB LOWMEM available.
found SMP MP-table at 000f9bf0
...CUT...
usbcore: registered new driver hiddev
usbcore: registered new driver usbhid
drivers/usb/input/hid-core.c: v2.0:USB HID core driver
mice: PS/2 mouse device common for all mice
------------[ cut here ]------------
kernel BUG at include/asm/spinlock.h:199!
invalid operand: 0000 [#1]
SMP
Modules linked in:
CPU:    0
EIP:    0060:[<c02d4c28>]    Not tainted VLI
EFLAGS: 00010013  (2.6.9-55.0.2.ELsmp)
EIP is at _read_lock+0x9/0x1d
eax: c0328b75  ebx: f7ea1e74  ecx: f7ea1000  edx: f7ea1e74
esi: 00000001  edi: 00000000  ebp: f7ea1e74  esp: c03f1fd0
ds: 007b  es: 007b  ss: 0068
Process swapper (pid: 1, threadinfo=c03f1000 task=f7e21630)
Stack: c0123160 f7ea1e74 c01231c1 c03c2188 00000000 c01173a6 f7ea1e6c 000010d4
      00000000 f7ea1ecb c011747a f7ea1e74
Call Trace:
 [<c0123160>] profile_hook+0xd/0x26
 [<c01231c1>] profile_tick+0x12/0x44
 [<c01173a6>] smp_local_timer_interrupt+0x23/0x99
 [<c011747a>] smp_apic_timer_interrupt+0x5e/0x9c
 =======================
 [<c02d6aee>] apic_timer_interrupt+0x1a/0x20
 [<c012007b>] arch_init_sched_domains+0x502/0x63b
 [<c02d4e3d>] _spin_unlock_irqrestore+0x2b/0x2d
 [<c0219ab4>] i8042_command+0xb7/0xc1
 [<c0219b1d>] i8042_aux_write+0x28/0x3a
 [<c026cc77>] atkbd_sendbyte+0x2b/0xe8
 [<c012a04b>] del_singleshot_timer_sync+0x13/0x21
 [<c026cdf0>] atkbd_command+0xbc/0x2f2
 [<c012052d>] autoremove_wake_function+0x0/0x2d
 [<c0129e95>] __mod_timer+0x101/0x10b
 [<c012052d>] autoremove_wake_function+0x0/0x2d
 [<c026d4e1>] atkbd_enable+0x33/0x69
 [<c026d752>] atkbd_connect+0x1f8/0x3a0
 [<c0218c70>] serio_bind_driver+0x18/0x7f
 [<c0219384>] serio_connect_port+0x61/0xe8
 [<c02196c2>] serio_register_driver+0x91/0xba
 [<c03b08f3>] atkbd_init+0xa/0xd
 [<c03977e3>] do_initcalls+0x49/0x8e
 [<c010066c>] init+0xa6/0x177
 [<c01005c6>] init+0x0/0x177
 [<c01041f5>] kernel_thread_helper+0x5/0xb
Code: 5b c3 81 78 04 ed 1e af de 74 08 0f 0b cf 00 fe 76 2e c0 f0 81 28 00 00 00 01 74 05 e8 66 ea ff ff c3 81 78 04 ed 1e af de 74 08 <0f> 0b c7 00 fe 76 2e c0 f0 83 28 01 79 05 e8 69 ea ff ff c3 81
 <0>Kernel panic - not syncing: Fatal exception in interrupt
 Badness in panic at kernel/panic.c:118
 [<c01221f9>] panic+0x13a/0x147
 [<c01060cc>] die+0x164/0x16b
 [<c0106425>] do_invalid_op+0xcf/0xf2
 [<c02d4c28>] _read_lock+0x9/0x1d
 [<c012a33f>] update_wall_time+0x8/0x30
 [<c011e851>] __wake_up+0x29/0x3c
 [<c026c7ad>] atkbd_interrupt+0x86/0x525
 [<c0106356>] do_invalid_op+0x0/0xf2
 [<c02d6b8b>] error_code+0x2f/0x38
 [<c02d4c28>] _read_lock+0x9/0x1d
 [<c0123160>] profile_hook+0xd/0x26
 [<c01231c1>] profile_tick+0x12/0x44
 [<c01173a6>] smp_local_timer_interrupt+0x23/0x99
 [<c011747a>] smp_apic_timer_interrupt+0x5e/0x9c
 =======================
 [<c02d6aee>] apic_timer_interrupt+0x1a/0x20
 [<c012007b>] arch_init_sched_domains+0x502/0x63b
 [<c02d4e3d>] _spin_unlock_irqrestore+0x2b/0x2d
 [<c0219ab4>] i8042_command+0xb7/0xc1
 [<c0219b1d>] i8042_aux_write+0x28/0x3a
 [<c026cc77>] atkbd_sendbyte+0x2b/0xe8
 [<c012a04b>] del_singleshot_timer_sync+0x13/0x21
 [<c026cdf0>] atkbd_command+0xbc/0x2f2
 [<c012052d>] autoremove_wake_function+0x0/0x2d
 [<c0129e95>] __mod_timer+0x101/0x10b
 [<c012052d>] autoremove_wake_function+0x0/0x2d
 [<c026d4e1>] atkbd_enable+0x33/0x69
 [<c026d752>] atkbd_connect+0x1f8/0x3a0
 [<c0218c70>] serio_bind_driver+0x18/0x7f
 [<c0219384>] serio_connect_port+0x61/0xe8
 [<c02196c2>] serio_register_driver+0x91/0xba
 [<c03b08f3>] atkbd_init+0xa/0xd
 [<c03977e3>] do_initcalls+0x49/0x8e
 [<c010066c>] init+0xa6/0x177
 [<c01005c6>] init+0x0/0x177
 [<c01041f5>] kernel_thread_helper+0x5/0xb
Badness in i8042_panic_blink at drivers/input/serio/i8042.c:987
 [<c021a2b9>] i8042_panic_blink+0xc0/0x1a0
 [<c01221bb>] panic+0xfc/0x147
 [<c01060cc>] die+0x164/0x16b
 [<c0106425>] do_invalid_op+0xcf/0xf2
 [<c02d4c28>] _read_lock+0x9/0x1d
 [<c012a33f>] update_wall_time+0x8/0x30
 [<c011e851>] __wake_up+0x29/0x3c
 [<c026c7ad>] atkbd_interrupt+0x86/0x525
 [<c0106356>] do_invalid_op+0x0/0xf2
 [<c02d6b8b>] error_code+0x2f/0x38
 [<c02d4c28>] _read_lock+0x9/0x1d
 [<c0123160>] profile_hook+0xd/0x26
 [<c01231c1>] profile_tick+0x12/0x44
 [<c01173a6>] smp_local_timer_interrupt+0x23/0x99
 [<c011747a>] smp_apic_timer_interrupt+0x5e/0x9c
 =======================
 [<c02d6aee>] apic_timer_interrupt+0x1a/0x20
 [<c012007b>] arch_init_sched_domains+0x502/0x63b
 [<c02d4e3d>] _spin_unlock_irqrestore+0x2b/0x2d
 [<c0219ab4>] i8042_command+0xb7/0xc1
 [<c0219b1d>] i8042_aux_write+0x28/0x3a
 [<c026cc77>] atkbd_sendbyte+0x2b/0xe8
 [<c012a04b>] del_singleshot_timer_sync+0x13/0x21
 [<c026cdf0>] atkbd_command+0xbc/0x2f2
 [<c012052d>] autoremove_wake_function+0x0/0x2d
 [<c0129e95>] __mod_timer+0x101/0x10b
 [<c012052d>] autoremove_wake_function+0x0/0x2d
 [<c026d4e1>] atkbd_enable+0x33/0x69
 [<c026d752>] atkbd_connect+0x1f8/0x3a0
 [<c0218c70>] serio_bind_driver+0x18/0x7f
 [<c0219384>] serio_connect_port+0x61/0xe8
 [<c02196c2>] serio_register_driver+0x91/0xba
 [<c03b08f3>] atkbd_init+0xa/0xd
 [<c03977e3>] do_initcalls+0x49/0x8e
 [<c010066c>] init+0xa6/0x177
 [<c01005c6>] init+0x0/0x177
 [<c01041f5>] kernel_thread_helper+0x5/0xb
Badness in i8042_panic_blink at drivers/input/serio/i8042.c:990
 [<c021a32e>] i8042_panic_blink+0x135/0x1a0
 [<c01221bb>] panic+0xfc/0x147
 [<c01060cc>] die+0x164/0x16b
 [<c0106425>] do_invalid_op+0xcf/0xf2
 [<c02d4c28>] _read_lock+0x9/0x1d
 [<c012a33f>] update_wall_time+0x8/0x30
 [<c011e851>] __wake_up+0x29/0x3c
 [<c026c7ad>] atkbd_interrupt+0x86/0x525
 [<c0106356>] do_invalid_op+0x0/0xf2
 [<c02d6b8b>] error_code+0x2f/0x38
 [<c02d4c28>] _read_lock+0x9/0x1d
 [<c0123160>] profile_hook+0xd/0x26
 [<c01231c1>] profile_tick+0x12/0x44
 [<c01173a6>] smp_local_timer_interrupt+0x23/0x99
 [<c011747a>] smp_apic_timer_interrupt+0x5e/0x9c
 =======================
 [<c02d6aee>] apic_timer_interrupt+0x1a/0x20
 [<c012007b>] arch_init_sched_domains+0x502/0x63b
 [<c02d4e3d>] _spin_unlock_irqrestore+0x2b/0x2d
 [<c0219ab4>] i8042_command+0xb7/0xc1
 [<c0219b1d>] i8042_aux_write+0x28/0x3a
 [<c026cc77>] atkbd_sendbyte+0x2b/0xe8
 [<c012a04b>] del_singleshot_timer_sync+0x13/0x21
 [<c026cdf0>] atkbd_command+0xbc/0x2f2
 [<c012052d>] autoremove_wake_function+0x0/0x2d
 [<c0129e95>] __mod_timer+0x101/0x10b
 [<c012052d>] autoremove_wake_function+0x0/0x2d
 [<c026d4e1>] atkbd_enable+0x33/0x69
 [<c026d752>] atkbd_connect+0x1f8/0x3a0
 [<c0218c70>] serio_bind_driver+0x18/0x7f
 [<c0219384>] serio_connect_port+0x61/0xe8
 [<c02196c2>] serio_register_driver+0x91/0xba
 [<c03b08f3>] atkbd_init+0xa/0xd
 [<c03977e3>] do_initcalls+0x49/0x8e
 [<c010066c>] init+0xa6/0x177
 [<c01005c6>] init+0x0/0x177
 [<c01041f5>] kernel_thread_helper+0x5/0xb
Badness in i8042_panic_blink at drivers/input/serio/i8042.c:992
 [<c021a381>] i8042_panic_blink+0x188/0x1a0
 [<c01221bb>] panic+0xfc/0x147
 [<c01060cc>] die+0x164/0x16b
 [<c0106425>] do_invalid_op+0xcf/0xf2
 [<c02d4c28>] _read_lock+0x9/0x1d
 [<c012a33f>] update_wall_time+0x8/0x30
 [<c011e851>] __wake_up+0x29/0x3c
 [<c026c7ad>] atkbd_interrupt+0x86/0x525
 [<c0106356>] do_invalid_op+0x0/0xf2
 [<c02d6b8b>] error_code+0x2f/0x38
 [<c02d4c28>] _read_lock+0x9/0x1d
 [<c0123160>] profile_hook+0xd/0x26
 [<c01231c1>] profile_tick+0x12/0x44
 [<c01173a6>] smp_local_timer_interrupt+0x23/0x99
 [<c011747a>] smp_apic_timer_interrupt+0x5e/0x9c
 =======================
 [<c02d6aee>] apic_timer_interrupt+0x1a/0x20
 [<c012007b>] arch_init_sched_domains+0x502/0x63b
 [<c02d4e3d>] _spin_unlock_irqrestore+0x2b/0x2d
 [<c0219ab4>] i8042_command+0xb7/0xc1
 [<c0219b1d>] i8042_aux_write+0x28/0x3a
 [<c026cc77>] atkbd_sendbyte+0x2b/0xe8
 [<c012a04b>] del_singleshot_timer_sync+0x13/0x21
 [<c026cdf0>] atkbd_command+0xbc/0x2f2
 [<c012052d>] autoremove_wake_function+0x0/0x2d
 [<c0129e95>] __mod_timer+0x101/0x10b
 [<c012052d>] autoremove_wake_function+0x0/0x2d
 [<c026d4e1>] atkbd_enable+0x33/0x69
 [<c026d752>] atkbd_connect+0x1f8/0x3a0
 [<c0218c70>] serio_bind_driver+0x18/0x7f
 [<c0219384>] serio_connect_port+0x61/0xe8
 [<c02196c2>] serio_register_driver+0x91/0xba
 [<c03b08f3>] atkbd_init+0xa/0xd
 [<c03977e3>] do_initcalls+0x49/0x8e
 [<c010066c>] init+0xa6/0x177
 [<c01005c6>] init+0x0/0x177
 [<c01041f5>] kernel_thread_helper+0x5/0xb


Xyplex -011- Session 1 disconnected from XYPLEX1:4000


alan_ri 02-10-2009 08:49 PM

Have you tried to blacklist the i8042 driver?

Brad.Scalio@noaa.gov 02-11-2009 04:25 AM

I will give that a try as well ... the location having the issues was in the middle of critical operations so I had to halt on troubleshooting yesterday but I will give that a a try!


All times are GMT -5. The time now is 09:29 AM.