Messages in this thread |  | | Date | Tue, 25 Sep 2001 00:40:15 +0200 (CEST) | From | Pascal Schmidt <> | Subject | Analog joystick fails on 2.4.10 |
| |
I have problems with the analog joystick support in 2.4.10. My gameport is on an es1371 soundcard. I load the soundcard driver with
modprobe es1371 joystick=0x200
This works and results in:
es1371: found chip, vendor id 0x1274 device id 0x1371 revision 0x08 es1371: found es1371 rev 8 at io 0xdc00 irq 9 es1371: features: joystick 0x200 ac97_codec: AC97 Audio codec, id: 0x4352:0x5913 (Cirrus Logic CS4297A rev A)
Then I do "modprobe analog". On 2.4.9-ac10, this results in:
input0: Analog 2-axis 4-button joystick at gameport0.0 [TSC timer, 450 MHz clock, 928 ns res]
The joystick works after that. On 2.4.10, instead I get:
input0: Analog 2-axis 4-button joystick at gameport0.0 [TSC timer, -1187 kHz clock, -197135 ns res]
The values are of course bogus, and the joystick does not work.
"rmmod analog ; modprobe analog" gives a segmentation fault with this syslog output:
analog.c: 7211 out of 7211 reads (100%) on gameport0 failed divide error: 0000 CPU: 0 EIP: 0010:[<d09ca483>] EFLAGS: 00010206 eax: ffff58a8 ebx: ffff58a8 ecx: ffffd62a edx: ffffffff esi: ccf93000 edi: ce1ba4fc ebp: 00001ea0 esp: caf3deb4 ds: 0018 es: 0018 ss: 0018 Process modprobe (pid: 979, stackpage=caf3d000) Stack: ce1ba440 d09cacd4 d09cacd4 00001ea0 00000246 ce1ba440 d09cacd4 caf3c000 d09ca775 ce1ba440 d09cacd4 ccf93000 ce1ba440 d09cacd4 00000000 00001ea0 ccf93000 00001ea0 c01e7263 ce1ba440 d09cacd4 d09c9000 d09ca9d8 d09ca9e7 Call Trace: [<d09cacd4>] [<d09cacd4>] [<d09cacd4>] [<d09ca775>] [<d09cacd4>] [<d09cacd4>] [<c01e7263>] [<d09cacd4>] [<d09ca9d8>] [<d09ca9e7>] [<d09cacd4>]
[<c0115338>] [<d09c9060>] [<c0106d93>]
Code: f7 be 58 08 00 00 89 c7 b8 d3 4d 62 10 f7 ef 89 d3 c1 ff 1f
This looks like modprobe's fault, ksymoops says:
ksymoops 2.4.3 on i586 2.4.9-ac10. Options used -V (default) -K (specified) -L (specified) -o /lib/modules/2.4.10/ (specified) -m /boot/System.map-2.4.10 (specified)
No modules in ksyms, skipping objects ac97_codec: AC97 Audio codec, id: 0x4352:0x5913 (Cirrus Logic CS4297A rev A) CPU: 0 EIP: 0010:[<d09ca483>] Using defaults from ksymoops -t elf32-i386 -a i386 EFLAGS: 00010206 eax: ffff58a8 ebx: ffff58a8 ecx: ffffd62a edx: ffffffff esi: ccf93000 edi: ce1ba4fc ebp: 00001ea0 esp: caf3deb4 ds: 0018 es: 0018 ss: 0018 Process modprobe (pid: 979, stackpage=caf3d000) Stack: ce1ba440 d09cacd4 d09cacd4 00001ea0 00000246 ce1ba440 d09cacd4 caf3c000 d09ca775 ce1ba440 d09cacd4 ccf93000 ce1ba440 d09cacd4 00000000 00001ea0 ccf93000 00001ea0 c01e7263 ce1ba440 d09cacd4 d09c9000 d09ca9d8 d09ca9e7 Call Trace: [<d09cacd4>] [<d09cacd4>] [<d09cacd4>] [<d09ca775>] [<d09cacd4>] [<d09cacd4>] [<c01e7263>] [<d09cacd4>] [<d09ca9d8>] [<d09ca9e7>] [<d09cacd4>] [<c0115338>] [<d09c9060>] [<c0106d93>] Code: f7 be 58 08 00 00 89 c7 b8 d3 4d 62 10 f7 ef 89 d3 c1 ff 1f
>>EIP; d09ca482 <END_OF_CODE+10635986/????> <===== Trace; d09cacd4 <END_OF_CODE+106361d8/????> Trace; d09cacd4 <END_OF_CODE+106361d8/????> Trace; d09cacd4 <END_OF_CODE+106361d8/????> Trace; d09ca774 <END_OF_CODE+10635c78/????> Trace; d09cacd4 <END_OF_CODE+106361d8/????> Trace; d09cacd4 <END_OF_CODE+106361d8/????> Trace; c01e7262 <gameport_register_device+2e/3c> Trace; d09cacd4 <END_OF_CODE+106361d8/????> Trace; d09ca9d8 <END_OF_CODE+10635edc/????> Trace; d09ca9e6 <END_OF_CODE+10635eea/????> Trace; d09cacd4 <END_OF_CODE+106361d8/????> Trace; c0115338 <sys_init_module+5a0/644> Trace; d09c9060 <END_OF_CODE+10634564/????> Trace; c0106d92 <system_call+32/40> Code; d09ca482 <END_OF_CODE+10635986/????> 00000000 <_EIP>: Code; d09ca482 <END_OF_CODE+10635986/????> <===== 0: f7 be 58 08 00 00 idiv 0x858(%esi),%eax <===== Code; d09ca488 <END_OF_CODE+1063598c/????> 6: 89 c7 mov %eax,%edi Code; d09ca48a <END_OF_CODE+1063598e/????> 8: b8 d3 4d 62 10 mov $0x10624dd3,%eax Code; d09ca48e <END_OF_CODE+10635992/????> d: f7 ef imul %edi,%eax Code; d09ca490 <END_OF_CODE+10635994/????> f: 89 d3 mov %edx,%ebx Code; d09ca492 <END_OF_CODE+10635996/????> 11: c1 ff 1f sar $0x1f,%edi
Another try at "modprobe analog" after that returns without segfault, but the analog module stays in "initalizing" forever, at least that's what lsmod tells me.
-- Ciao, Pascal
-<[ pharao90@tzi.de, netmail 2:241/215.72, home http://cobol.cjb.net/) ]>-
- 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/
|  |