[BUG] 2.6.3 + hp100 -> Oops

5 messages, 2 authors, 2004-02-18 · open the first message on its own page

[BUG] 2.6.3 + hp100 -> Oops

From: Jean Tourrilhes <hidden>
Date: 2004-02-18 20:16:31

	Hi,

	Maybe it would be a good idea to fix or revert the hp100 patch
that went into 2.6.3 :

----------------------------------------------------------
# modprobe hp100
FATAL: Error inserting hp100 (/lib/modules/2.6.3/kernel/drivers/net/hp100.ko): No such device
# dmesg
[...]
hp100: Busmaster mode enabled.
hp100: at 0xf400, IRQ 16, PCI bus, 32k SRAM (rx/tx 75%).
hp100: Adapter is attached to 100Mb/s Voice Grade AnyLAN network.
# cat /proc/net/dev
Segmentation fault
# dmesg
[...]
hp100: Busmaster mode enabled.
hp100: at 0xf400, IRQ 16, PCI bus, 32k SRAM (rx/tx 75%).
hp100: Adapter is attached to 100Mb/s Voice Grade AnyLAN network.
Unable to handle kernel paging request at virtual address d086648c
 printing eip:
d086648c
*pde = 0fda1067
*pte = 00000000
Oops: 0000 [#1]
CPU:    1
EIP:    0060:[<d086648c>]    Not tainted
EFLAGS: 00010282
EIP is at 0xd086648c
eax: d086648c   ebx: ccf6b000   ecx: fffffffd   edx: cfb99000
esi: c139cca0   edi: ccf6b000   ebp: 000001be   esp: c90b5f20
ds: 007b   es: 007b   ss: 0068
Process cat (pid: 511, threadinfo=c90b4000 task=c9080670)
Stack: c01ee394 ccf6b000 c139cca0 00000000 c01ee46d c139cca0 ccf6b000 c139cca0 
       00000000 ccf6b000 c0167d60 c139cca0 ccf6b000 00000000 c55888e0 c5588900 
       00000400 c139ccb8 00000000 00000003 00000000 00000002 00000000 c014cf1c 
Call Trace:
 [<c01ee394>] dev_seq_printf_stats+0x14/0x94
 [<c01ee46d>] dev_seq_show+0x59/0x64
 [<c0167d60>] seq_read+0x1bc/0x2fc
 [<c014cf1c>] vfs_read+0x9c/0xcc
 [<c014d0fd>] sys_read+0x31/0x4c
 [<c0108c33>] syscall_call+0x7/0xb

Code:  Bad EIP value.
 
---------------------------------------------------------------

	After that, the whole system is mostly unusable and doesn't
reboot cleanly.
	This is with a PCI card. Looking at the changes, they would
also require testing with a ISA card (which I don't have in my box at
the moment).

	2.6.2 works perfectly. This is what 2.6.2 looks like :
---------------------------------------------
hp100: eth1: Busmaster mode enabled.
hp100: eth1: HP J2585B at 0xf400, IRQ 16, PCI bus, 32k SRAM (rx/tx 75%).
hp100: eth1: Adapter is attached to 100Mb/s Voice Grade AnyLAN network.
---------------------------------------------
	Also :
-----------------------------------
00:12.0 Ethernet controller: Hewlett-Packard Company J2585B
        Subsystem: Hewlett-Packard Company J2585B DeskDirect 10/100VG NIC
        Flags: bus master, medium devsel, latency 64, IRQ 16
        I/O ports at f400 [size=256]
        Memory at fedfc000 (32-bit, non-prefetchable) [disabled] [size=8K]
-----------------------------------

	Have fun...

	Jean

Re: [BUG] 2.6.3 + hp100 -> Oops

From: Stephen Hemminger <hidden>
Date: 2004-02-18 20:27:14

On Wed, 18 Feb 2004 12:15:59 -0800
Jean Tourrilhes [off-list ref] wrote:
	Hi,

	Maybe it would be a good idea to fix or revert the hp100 patch
that went into 2.6.3 :
Modular or non-modular?  There seems to be a lot of debug stuff in the driver,
could you enable it and see where it hiccup'd.

Re: [BUG] 2.6.3 + hp100 -> Oops

From: Stephen Hemminger <hidden>
Date: 2004-02-18 20:41:46

This should fix the problem... The multi-bus probe logic error handling was
botched.

diff -Nru a/drivers/net/hp100.c b/drivers/net/hp100.c
--- a/drivers/net/hp100.c	Wed Feb 18 12:39:41 2004
+++ b/drivers/net/hp100.c	Wed Feb 18 12:39:41 2004
@@ -3043,14 +3043,27 @@
 	int err;
 
 	err = hp100_isa_init();
-
+	if (err && err != -ENODEV)
+		goto out;
 #ifdef CONFIG_EISA
-	err |= eisa_driver_register(&hp100_eisa_driver);
+	err = eisa_driver_register(&hp100_eisa_driver);
+	if (err && err != -ENODEV) 
+		goto out2;
 #endif
 #ifdef CONFIG_PCI
-	err |= pci_module_init(&hp100_pci_driver);
+	err = pci_module_init(&hp100_pci_driver);
+	if (err && err != -ENODEV) 
+		goto out3;
 #endif
+ out:
 	return err;
+ out3:
+#ifdef CONFIG_EISA
+	eisa_driver_unregister (&hp100_eisa_driver);
+ out2:
+#endif
+	hp100_isa_cleanup();
+	goto out;
 }
 
 

Re: [BUG] 2.6.3 + hp100 -> Oops

From: Jean Tourrilhes <hidden>
Date: 2004-02-18 22:16:50

On Wed, Feb 18, 2004 at 12:40:34PM -0800, Stephen Hemminger wrote:
This should fix the problem... The multi-bus probe logic error handling was
botched.
	Thanks. The driver now seems to works. However, the kernel
messages no longer show the device name...

	Thanks.

	Jean

Re: [BUG] 2.6.3 + hp100 -> Oops

From: Stephen Hemminger <hidden>
Date: 2004-02-18 22:42:21

On Wed, 18 Feb 2004 14:16:41 -0800
Jean Tourrilhes [off-list ref] wrote:
On Wed, Feb 18, 2004 at 12:40:34PM -0800, Stephen Hemminger wrote:
quoted
This should fix the problem... The multi-bus probe logic error handling was
botched.
	Thanks. The driver now seems to works. However, the kernel
messages no longer show the device name...
That is a generic problem that can't easily be fixed since the device name
isn't assigned till board is registered which happens after successful probe.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help