lkml.org 
[lkml]   [2004]   [Apr]   [18]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
FromKimmo Sundqvist <>
SubjectRe: modprobe 3c509 segfaults
DateSun, 18 Apr 2004 15:55:05 +0300
On Saturday 17 April 2004 20:55, Andrew Morton wrote:

> Seems that we used to unconditionally link the device into the
> el3_root_devchain in el3_common_init(), but that was removed, and we now
> conditionally link it, denendent upon sone ifdefs which you presumably have
> not set.

> Does this fix it up?

Now I can use modprobe and then remove the module as many times as I want, but 
some a bit odd behavior appeared.  Some details are repeated from my original 
message:

Two 3c509 cards, a BNC/AUI one, configured with 3com's setup utility 
(3c5x9cfg.exe) to IRQ 9, port 0x210, and a RJ-45 one, configured to IRQ 5, 
port 0x300.  Both use non-pnp initalisation, and don't say anything if I do 
pnpdump.

Under Debian (kernel 2.4.22), the cards were probed IRQ 12 and 5, but ifconfig 
said IRQ 9 and 5 if I had told modprobe "irq=9,5", and both cards worked 
perfectly.

Under Gentoo, kernel 2.6.6-rc1 and your patch applied (I couldn't figure out 
how to correctly use patch, so I deleted the two lines in 3c509.c manually), 
the BNC card is found at IRQ 12 and RJ-45 card at IRQ 5 according 
to /var/log/messages.  And this is the same with every single run of insmod.

1. modprobe (or insmod) with no irq given:
eth0 doesn't come up, Device or resource busy
eth1 comes up with IRQ 5, port 0x300, and appears working

2. modprobe (or insmod) with irq=9,5 given:
eth0 comes up with IRQ _5_, port 0x210, and for some odd reason, works
eth1: Device or resource busy

3. same as the above, (irq=9,5) but eth1 up first
eth1 comes up with IRQ 5, port 0x300, and appears working
eth0: Device or resource busy

4. modprobe (or insmod) with irq=5,9 given:
both come up and work as expected
eth0 is IRQ 9, eth1 is IRQ 5

It is documented that the order of detection is arbitrary.  Both systems have 
the card at IRQ 9 (IRQ 12 in logs) always found first, but Gentoo (kernel 
2.6.6-rc1) needs irq=5,9 while Debian (vanilla kernel 2.4.22) needs irq=9,5.

Biggest thing left to understand is, why does the card work in try 2?  I know 
for sure that eth0 of try 2 is eth0 of try 3 (the BNC card), so we have 
different cards working there.
There is a network only at the BNC connector of one card, so by "appears 
working" I mean that the RJ-45 card comes up and generates interrupts, takes 
an IP address and transmits pings, but - as is expected - doesn't get any 
replies.

-Kimmo S.
-
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/

\
 
 \ /
  Last update: 2005-03-22 13:02    [from the cache]
©2003-2008