public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [BUG] module ns558
@ 2005-08-05 18:52 Michael Stenzel
  2005-08-05 19:30 ` Alexander Nyberg
  0 siblings, 1 reply; 3+ messages in thread
From: Michael Stenzel @ 2005-08-05 18:52 UTC (permalink / raw)
  To: linux-kernel

Hello dear Kernel People,

I have a problem with my gameport, it uses the ns558 driver, the module gets 
loaded via hotplug/udev at boot, but the gameport gets deactivated somehow.
I have this Problem for a long time now, and my solution always was rmmod the 
module and load it again after that the gameport is working.
But now i have 2.6.13-rc5 with debug stuff turned on and noticed that:

#rmmod ns558
Speicherzugriffsfehler <-- Segfault

This is from dmesg:
kobject_hotplug: /sbin/hotplug input seq=393 HOME=/ 
PATH=/sbin:/bin:/usr/sbin:/usr/bin ACTION=remove DEVPATH=/class/input/js0 
SUBSYSTEM=input
kobject js0: cleaning up
analog.c: 0 out of 0 reads (0%) on pnp00:03/gameport0 failed
kobject_hotplug
fill_kobj_path: path = '/devices/pnp0/00:03/gameport0'
kobject_hotplug: /sbin/hotplug gameport seq=394 HOME=/ 
PATH=/sbin:/bin:/usr/sbin:/usr/bin ACTION=remove 
DEVPATH=/devices/pnp0/00:03/gameport0 SUBSYSTEM=gameport
kobject gameport0: cleaning up
Unable to handle kernel paging request at virtual address 6b6b6b6b
 printing eip:
e0afc4ab
*pde = 00000000
Oops: 0000 [#1]
PREEMPT
Modules linked in: snd_seq_midi snd_seq_midi_event snd_seq video_buf_dvb 
video_buf w83627hf w83781d i2c_sensor i2c_isa snd_pcm_oss snd_mixer_oss 
ipt_MASQUERADE ipt_state iptable_mangle iptable_nat iptable_filter 
ip_conntrack_ftp ip_conntrack_irc ip_conntrack ip_tables rtc joydev analog 
ns558 budget s5h1420 l64781 ves1820 budget_core saa7146 ttpci_eeprom stv0299 
tda8083 ves1x93 dvb_core 8139too snd_via82xx gameport snd_mpu401_uart 
snd_rawmidi snd_seq_device via_rhine crc32 ide_scsi
CPU:    0
EIP:    0060:[<e0afc4ab>]    Not tainted VLI
EFLAGS: 00010282   (2.6.13-rc5-debug)
EIP is at ns558_exit+0x4b/0x79 [ns558]
eax: 6b6b6b57   ebx: 6b6b6b57   ecx: 00000000   edx: 6b6b6b6b
esi: 00000000   edi: 00000002   ebp: d7cfdf60   esp: d7cfdf5c
ds: 007b   es: 007b   ss: 0068
Process rmmod (pid: 3267, threadinfo=d7cfc000 task=dfc94080)
Stack: e0afd140 d7cfdfb4 c0146b4d 00000000 3535736e d7cf0038 c0169941 b7f43000
       b7f42000 d7cfdfa4 c0169de5 b7f42000 b7f43000 df6a6f44 df6a61fc df17d3a4
       df17d3d4 00000000 00cfdfb4 c0169e6a bf856ae0 b7f2917c d7cfc000 c0103889
Call Trace:
 [<c010483a>] show_stack+0x7a/0x90
 [<c01049c6>] show_registers+0x156/0x1c0
 [<c0104c1c>] die+0x14c/0x2c0
 [<c0118093>] do_page_fault+0x343/0x655
 [<c010430f>] error_code+0x4f/0x54
 [<c0146b4d>] sys_delete_module+0x14d/0x190
 [<c0103889>] syscall_call+0x7/0xb
Code: 8b 43 10 e8 98 65 de ff 8b 4b 08 b8 a0 2f 46 c0 89 ca f7 da 23 53 04 e8 
64 c7 62 df 89 d8 e8 5d 01 66 df 8b 53 14 8d 42 ec 89 c3 <8b> 40 14 0f 18 00 
90 81 fa 20 cf af e0 75 c6 8b 1d c0 d2 af e0

However after modprobe ns558 the gameport works and rmmod isn't possible 
anymore:
# rmmod ns558
ERROR: Removing 'ns558': Device or resource busy

Output of scripts/ver_linux follows(note the nvidia module, i have loaded it 
after the oops so no problem, right?)

If some fields are empty or look unusual you may have an old version.
Compare to the current minimal requirements in Documentation/Changes.

Linux yellow 2.6.13-rc5-debug #1 Fri Aug 5 01:39:18 CEST 2005 i686 AMD 
Athlon(tm) XP 2400+ AuthenticAMD GNU/Linux

Gnu C                  3.3.6
Gnu make               3.80
binutils               2.15.92.0.2
util-linux             2.12p
mount                  2.12p
module-init-tools      3.1
e2fsprogs              1.35
reiserfsprogs          3.6.18
reiser4progs           line
quota-tools            3.12.
Linux C Library        2.3.5
Dynamic linker (ldd)   2.3.5
Linux C++ Library      5.0.7
Procps                 3.2.3
Net-tools              1.60
Kbd                    1.12
Sh-utils               5.2.1
udev                   064
Modules Loaded         nvidia snd_seq_midi snd_seq_midi_event snd_seq 
video_buf_dvb video_buf w83627hf w83781d i2c_sensor i2c_isa snd_pcm_oss 
snd_mixer_oss ipt_MASQUERADE ipt_state iptable_mangle iptable_nat 
iptable_filter ip_conntrack_ftp ip_conntrack_irc ip_conntrack ip_tables rtc 
joydev analog ns558 budget s5h1420 l64781 ves1820 budget_core saa7146 
ttpci_eeprom stv0299 tda8083 ves1x93 dvb_core 8139too snd_via82xx gameport 
snd_mpu401_uart snd_rawmidi snd_seq_device via_rhine crc32 ide_scsi

I'll provide more info, if it's needed. 
Please CC me because i'm not subscribed. 
TIA and keep up the great work!


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

* Re: [BUG] module ns558
  2005-08-05 18:52 [BUG] module ns558 Michael Stenzel
@ 2005-08-05 19:30 ` Alexander Nyberg
  2005-08-10 15:10   ` Dmitry Torokhov
  0 siblings, 1 reply; 3+ messages in thread
From: Alexander Nyberg @ 2005-08-05 19:30 UTC (permalink / raw)
  To: Michael Stenzel, Vojtech Pavlik; +Cc: linux-kernel

On Fri, Aug 05, 2005 at 08:52:41PM +0200 Michael Stenzel wrote:

> Hello dear Kernel People,
> 
> I have a problem with my gameport, it uses the ns558 driver, the module gets 
> loaded via hotplug/udev at boot, but the gameport gets deactivated somehow.
> I have this Problem for a long time now, and my solution always was rmmod the 
> module and load it again after that the gameport is working.
> But now i have 2.6.13-rc5 with debug stuff turned on and noticed that:
>

Please take this up with the input guys, I'm guessing it shouldn't
happen in the first place, but regarding this bug look at the bottom.

> Unable to handle kernel paging request at virtual address 6b6b6b6b
>  printing eip:
> e0afc4ab
> *pde = 00000000
> Oops: 0000 [#1]
> PREEMPT
> Modules linked in: snd_seq_midi snd_seq_midi_event snd_seq video_buf_dvb 
> video_buf w83627hf w83781d i2c_sensor i2c_isa snd_pcm_oss snd_mixer_oss 
> ipt_MASQUERADE ipt_state iptable_mangle iptable_nat iptable_filter 
> ip_conntrack_ftp ip_conntrack_irc ip_conntrack ip_tables rtc joydev analog 
> ns558 budget s5h1420 l64781 ves1820 budget_core saa7146 ttpci_eeprom stv0299 
> tda8083 ves1x93 dvb_core 8139too snd_via82xx gameport snd_mpu401_uart 
> snd_rawmidi snd_seq_device via_rhine crc32 ide_scsi
> CPU:    0
> EIP:    0060:[<e0afc4ab>]    Not tainted VLI
> EFLAGS: 00010282   (2.6.13-rc5-debug)
> EIP is at ns558_exit+0x4b/0x79 [ns558]
> eax: 6b6b6b57   ebx: 6b6b6b57   ecx: 00000000   edx: 6b6b6b6b
> esi: 00000000   edi: 00000002   ebp: d7cfdf60   esp: d7cfdf5c
> ds: 007b   es: 007b   ss: 0068
> Process rmmod (pid: 3267, threadinfo=d7cfc000 task=dfc94080)
> Stack: e0afd140 d7cfdfb4 c0146b4d 00000000 3535736e d7cf0038 c0169941 b7f43000
>        b7f42000 d7cfdfa4 c0169de5 b7f42000 b7f43000 df6a6f44 df6a61fc df17d3a4
>        df17d3d4 00000000 00cfdfb4 c0169e6a bf856ae0 b7f2917c d7cfc000 c0103889
> Call Trace:
>  [<c010483a>] show_stack+0x7a/0x90
>  [<c01049c6>] show_registers+0x156/0x1c0
>  [<c0104c1c>] die+0x14c/0x2c0
>  [<c0118093>] do_page_fault+0x343/0x655
>  [<c010430f>] error_code+0x4f/0x54
>  [<c0146b4d>] sys_delete_module+0x14d/0x190
>  [<c0103889>] syscall_call+0x7/0xb
> Code: 8b 43 10 e8 98 65 de ff 8b 4b 08 b8 a0 2f 46 c0 89 ca f7 da 23 53 04 e8 
> 64 c7 62 df 89 d8 e8 5d 01 66 df 8b 53 14 8d 42 ec 89 c3 <8b> 40 14 0f 18 00 
> 90 81 fa 20 cf af e0 75 c6 8b 1d c0 d2 af e0
> 

Please try this:

Index: linux-2.6/drivers/input/gameport/ns558.c
===================================================================
--- linux-2.6.orig/drivers/input/gameport/ns558.c	2005-07-31 18:10:26.000000000 +0200
+++ linux-2.6/drivers/input/gameport/ns558.c	2005-08-05 21:20:59.000000000 +0200
@@ -275,9 +275,9 @@
 
 static void __exit ns558_exit(void)
 {
-	struct ns558 *ns558;
+	struct ns558 *ns558, *safe;
 
-	list_for_each_entry(ns558, &ns558_list, node) {
+	list_for_each_entry_safe(ns558, safe, &ns558_list, node) {
 		gameport_unregister_port(ns558->gameport);
 		release_region(ns558->io & ~(ns558->size - 1), ns558->size);
 		kfree(ns558);

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

* Re: [BUG] module ns558
  2005-08-05 19:30 ` Alexander Nyberg
@ 2005-08-10 15:10   ` Dmitry Torokhov
  0 siblings, 0 replies; 3+ messages in thread
From: Dmitry Torokhov @ 2005-08-10 15:10 UTC (permalink / raw)
  To: Alexander Nyberg
  Cc: Michael Stenzel, Vojtech Pavlik, linux-kernel, Andrew Morton

On 8/5/05, Alexander Nyberg <alexn@telia.com> wrote:
> 
> Please try this:
> 
> Index: linux-2.6/drivers/input/gameport/ns558.c
> ===================================================================
> --- linux-2.6.orig/drivers/input/gameport/ns558.c       2005-07-31 18:10:26.000000000 +0200
> +++ linux-2.6/drivers/input/gameport/ns558.c    2005-08-05 21:20:59.000000000 +0200
> @@ -275,9 +275,9 @@
> 
>  static void __exit ns558_exit(void)
>  {
> -       struct ns558 *ns558;
> +       struct ns558 *ns558, *safe;
> 
> -       list_for_each_entry(ns558, &ns558_list, node) {
> +       list_for_each_entry_safe(ns558, safe, &ns558_list, node) {
>                gameport_unregister_port(ns558->gameport);
>                release_region(ns558->io & ~(ns558->size - 1), ns558->size);
>                kfree(ns558);
> -

I think this one should go into 2.6.13 and probably in -stable too... 

-- 
Dmitry

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

end of thread, other threads:[~2005-08-10 15:10 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-08-05 18:52 [BUG] module ns558 Michael Stenzel
2005-08-05 19:30 ` Alexander Nyberg
2005-08-10 15:10   ` Dmitry Torokhov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox