Bug 5850

Summary: grip module crashes system since 2.6.15
Product: Drivers Reporter: Julien Langer (julien.langer)
Component: Input DevicesAssignee: Dmitry Torokhov (dmitry.torokhov)
Status: CLOSED CODE_FIX    
Severity: high CC: dmitry.torokhov
Priority: P2    
Hardware: i386   
OS: Linux   
Kernel Version: 2.6.15 Subsystem:
Regression: --- Bisected commit-id:
Attachments: Attempt to fix grip grash

Description Julien Langer 2006-01-07 13:16:14 UTC
I have a Gravis Gamepad Pro connected to a gameport and am using the "grip"
kernel module.
However if I try to access /dev/input/js0 with jstest or some other programm my
system freezes completely.
This also happens if I connect the gamepad to another gameport (I have a ns558
and an emu10k1 gameport)
The "analog" joystick module works if I change the switch on the back of the
gamepad.
This problem does not occur with kernel 2.6.14.

Regards,
Julien Langer
Comment 1 Dmitry Torokhov 2006-01-07 19:45:38 UTC
Do you see an oops or does the system just freeze? Are you in X or on the  
console? If you are on the console and there is no Oops you could try hitting  
SysRq-P to get the cal trace (assuming that you have SysRq enabled).  
Comment 2 Julien Langer 2006-01-08 09:18:46 UTC
I don't see an oops. The crash happens under X and on the console.
Nothing happens if I press SysRq-P (CONFIG_MAGIC_SYSRQ is enabled)
Comment 3 Dmitry Torokhov 2006-01-08 10:40:12 UTC
Do you see the call trace if you press SysRq-P before trying yto use your 
joystick? 
Comment 4 Julien Langer 2006-01-08 13:13:46 UTC
The only thing I get is the following:
SysRq : Show Regs

Pid: 0, comm:              swapper
EIP: 0060:[<c0100d1b>] CPU: 0
EIP is at default_idle+0x2b/0x60
 EFLAGS: 00000246    Tainted: P       (2.6.15)
EAX: 00000000 EBX: c0398000 ECX: f585a000 EDX: c0398000
ESI: 0009fb00 EDI: c0391800 EBP: 00410007 DS: 007b ES: 007b
CR0: 8005003b CR2: b59a4000 CR3: 36781000 CR4: 000006d0
 [<c0100db1>] cpu_idle+0x41/0x60
 [<c039a83a>] start_kernel+0x16a/0x190
 [<c039a390>] unknown_bootoption+0x0/0x1e0

Comment 5 Dmitry Torokhov 2006-01-22 21:41:35 UTC
Created attachment 7095 [details]
Attempt to fix grip grash

Please try this patch, I think it will help. Thanks!
Comment 6 Patrick Horn 2006-01-29 14:44:46 UTC
This patch successfully fixes the crash I have had with the Gravis GamePad Pro
in 2.6.15. Thanks.
I had exactly the same problem as the bug submitter.

This was the call trace I had when it oops'ed on me:
 [<f9966696>] grip_poll+0x3ee/0x416  [grip]
 [<f9a1b1f1>] gameport_run_poll_handler+0xc/0x43  [gameport]
 [<c01266fe>] run_timer_softirq+0x131/0x186
 [<f9a1b1e5>] gameport_run_poll_handler+0x0/0x43
 [<c0122db7>] __do_softirq+0x57/0xc0
 [<c0122e4e>] do_softirq+0x2e/0x32
 [<c0122ef6>] irq_exit+0x33/0x3e
 [<c0103834>] apic_timer_interrupt+0x1c/0x24
 [<c010101c>] default_idle+0x0/0x55
 [<c0101048>] default_idle+0x2c/0x55
 [<c0101100>] cpu_idle+0x8f/0xae
Comment 7 Dmitry Torokhov 2006-02-03 12:21:30 UTC
The patch was included in 2.6.16-rc2