Bug 39264

Summary: first ether card gets eth0-7, second gets eth8-15
Product: [Retired] Red Hat Linux Reporter: Need Real Name <knappsd>
Component: kernelAssignee: Arjan van de Ven <arjanv>
Status: CLOSED CURRENTRELEASE QA Contact: Brock Organ <borgan>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.1   
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2003-06-06 12:17:24 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Need Real Name 2001-05-06 08:40:51 UTC
From Bugzilla Helper:
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0b; Windows NT 5.0)

Description of problem:
I have two Intel EtherExpress Pro/10 ISA cards.  They were detected and 
worked fine with the 2.2 kernel, using modprobe for configuration.  But 
with the 2.4 kernel, the first card is assigned 7 ethernet interfaces 
(eth0-eth7).  The second card isn't initially detected (although it was on 
2.2), but when I run modprobe manually, it detects it and assigns 7 
interfaces to it too (eth8-eth15).

How reproducible:
Always

Steps to Reproduce:
1. Activate pnp on both cards
2. Manually set the io and irq in modules.conf. here's what I use:
card 1 (assigned eth0-7): io=0x230, IRQ=10
card 2 (assigned eth8-15): io=0x220, IRQ=11
3. Run modprobe for each card
4. Do ifconfig -a and see 16 interfaces


Actual Results:  The results from ifconfig show that eth0-eth7 all have 
the io and irq of card 1, and eth8-eth15 all have the io and irq of card 
2.  

Expected Results:  eth0 should be assigned to card 1, and eth1 should be 
assigned to card 2.  no other interfaces should be active.

Additional info:

dmesg shows that the kernel detects each card 8 times with 8 messages that 
say "Intel EtherExpress Pro/10 ISA at xxx".  This message is from eepro.c 
in function eepro_probe1.

I tried to track it down in the source code, and I found a section in 
eepro.c (function init_module) that that calls eepro_probe and 
register_netdev potentially 8 times per card.  But I don't have enough 
knowledge of network device drivers to know if that's where the problem is.

Comment 1 Arjan van de Ven 2001-05-08 11:37:05 UTC
Thanks for the report. That function indeed is the problem; it doesn't
even probe for a card before registering the ethX. I've tried to fix it
but as I don't have the hardware I would appriciate it if you would be
willing to test this.

Comment 2 Need Real Name 2001-05-08 16:35:55 UTC
Yes, definitely.  Where can I get the code?