Bug 123915 - (NET SUNHME) sunhme broken in FC 2
(NET SUNHME) sunhme broken in FC 2
Status: CLOSED NEXTRELEASE
Product: Fedora
Classification: Fedora
Component: kernel (Show other bugs)
2
i686 Linux
medium Severity medium
: ---
: ---
Assigned To: Dave Jones
Brian Brock
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2004-05-21 13:29 EDT by Kai 'wusel' Siering
Modified: 2015-01-04 17:06 EST (History)
4 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2005-04-16 01:14:49 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Kai 'wusel' Siering 2004-05-21 13:29:20 EDT
Description of problem:

panic() with sunhme.ko


Version-Release number of selected component (if applicable):

FC 2 kernel 2.6.5-1.358; Sun PCI Cards (1x SunSWIFT, 1x SunQFE)


How reproducible:

Install FC 2 on a system equipped with hme-based Ethernet cards.
Watch dmesg or syslog when insmodding sunhme.ko.


Steps to Reproduce:
1. Get a x86 PC, add sunhme-driven Ethernet boards (e. g. a
QuadFastEternet board)
2. Install Fedora Core 2
3. See the panic(), sunhme-driven Ethernets are not visible nor usable
  

Actual results:

sunhme-driven Ethernets are not visible nor usable.


Expected results:

Use sunhme-driven Ethernet ports as was possible until and inclu-
ding Fedora Core 1.


Additional info:

panic() from dmesg:

PCI: Found IRQ 11 for device 0000:00:10.1
PCI: Sharing IRQ 11 with 0000:01:00.0
Unable to handle kernel NULL pointer dereference at virtual address
00000024
 printing eip:
0a898529
*pde = 00000000
Oops: 0000 [#1]
CPU:    0
EIP:    0060:[<0a898529>]    Not tainted
EFLAGS: 00010202   (2.6.5-1.358) 
EIP is at is_quattro_p+0x7/0x40 [sunhme]
eax: 00000000   ebx: 03153000   ecx: 03161154   edx: 000000ff
esi: 0a898f3e   edi: 0778ef4c   ebp: 0778e000   esp: 0778ef30
ds: 007b   es: 007b   ss: 0068
Process modprobe (pid: 1111, threadinfo=0778e000 task=0751b130)
Stack: 03153000 0a82908b 0222ea39 00000093 ffffffff 00000000 03153000
0778e000 
       0222f148 0000000d 00000001 0778ef70 0778ef70 00000202 00000001
0778ef70 
       00000050 03153000 00000001 022c997c 0222db25 0778ef8b 5078ef7c
03153000 
Call Trace:
 [<0a82908b>] happy_meal_pci_init+0x29/0x4a7 [sunhme]
 [<0222ea39>] pirq_via_get+0x0/0x17
 [<0222f148>] pci_read+0x1c/0x21
 [<0222db25>] pcibios_set_master+0x19/0x7c
 [<0a82952b>] happy_meal_pci_probe+0x22/0x3e [sunhme]
 [<0a829570>] happy_meal_probe+0x29/0x37 [sunhme]
 [<02127eac>] sys_init_module+0xe7/0x1bd

Code: 81 78 24 11 10 25 00 75 2c 8b 51 14 8d 41 14 31 db 39 c2 74 
 <6>e100: Intel(R) PRO/100 Network Driver, 3.0.17
e100: Copyright(c) 1999-2004 Intel Corporation
PCI: Found IRQ 10 for device 0000:00:0f.0


lspci-Info:

[root@localhost root]# lspci
00:00.0 Host bridge: VIA Technologies, Inc. VT82C693A/694x [Apollo
PRO133x] (rev 82)
00:01.0 PCI bridge: VIA Technologies, Inc. VT82C598/694x [Apollo
MVP3/Pro133x AGP]
00:02.0 ISA bridge: VIA Technologies, Inc. VT82C596 ISA [Mobile South]
(rev 12)
00:02.1 IDE interface: VIA Technologies, Inc.
VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 06)
00:02.3 Host bridge: VIA Technologies, Inc. VT82C596 Power Management
(rev 20)
00:0e.0 PCI bridge: Digital Equipment Corporation DECchip 21153 (rev 04)
00:0f.0 Ethernet controller: Intel Corp. 82557/8/9 [Ethernet Pro 100]
(rev 08)
00:10.0 Bridge: Sun Microsystems Computer Corp. EBUS (rev 01)
00:10.1 Ethernet controller: Sun Microsystems Computer Corp. Happy
Meal (rev 01)
00:12.0 Multimedia audio controller: ESS Technology ES1988 Allegro-1
(rev 10)
01:00.0 VGA compatible controller: S3 Inc. Savage 4 (rev 03)
02:00.0 Bridge: Sun Microsystems Computer Corp. EBUS (rev 01)
02:00.1 Ethernet controller: Sun Microsystems Computer Corp. Happy
Meal (rev 01)
02:01.0 Bridge: Sun Microsystems Computer Corp. EBUS (rev 01)
02:01.1 Ethernet controller: Sun Microsystems Computer Corp. Happy
Meal (rev 01)
02:02.0 Bridge: Sun Microsystems Computer Corp. EBUS (rev 01)
02:02.1 Ethernet controller: Sun Microsystems Computer Corp. Happy
Meal (rev 01)
02:03.0 Bridge: Sun Microsystems Computer Corp. EBUS (rev 01)
02:03.1 Ethernet controller: Sun Microsystems Computer Corp. Happy
Meal (rev 01)
Comment 1 Alan Cox 2004-06-18 21:06:45 EDT
Fix sent upstream
Comment 2 Kai 'wusel' Siering 2004-06-19 04:10:08 EDT
Alan, could you attach it here as well or email it to me?
-kai
Comment 3 Alan Cox 2004-06-19 07:01:34 EDT
--- drivers/net/sunhme.c~       2004-06-16 23:37:33.764056736 +0100
+++ drivers/net/sunhme.c        2004-06-16 23:37:33.764056736 +0100
@@ -2920,7 +2920,8 @@
        struct list_head *tmp;
        int n_hmes;
  
-       if (busdev->vendor != PCI_VENDOR_ID_DEC ||
+       if (busdev == NULL ||
+           busdev->vendor != PCI_VENDOR_ID_DEC ||
            busdev->device != PCI_DEVICE_ID_DEC_21153)
                return 0;
  
Comment 4 David Miller 2004-06-19 14:47:10 EDT
I really doubt that it is legal for pdev->bus->self
to be NULL, even the PCI host bridge has to have a valid
PCI device struct.  Even architectures, such as some PPC
systems, which don't have a bonafide PCI device sitting at
the top of the PCI hierarchy, provide a dummy PCI device
struct at the root in order to avoid this issue.

I'm absolutely stumped that this happens on x86.
The 'lspci' output clearly shows the VIA Appolo device
at 00:00.0, so why isn't it linked into the pdev->bus->self
properly?  That's the real bug Alan, not the sunhme.c driver.
Comment 5 Alan Cox 2004-06-19 15:16:49 EDT
Quite possibly. Thats a matter for the kernel list and it certainly
would explain why it works fine on Sparc
Comment 6 Dave Jones 2005-04-16 01:14:49 EDT
Fedora Core 2 has now reached end of life, and no further updates will be
provided by Red Hat.  The Fedora legacy project will be producing further kernel
updates for security problems only.

If this bug has not been fixed in the latest Fedora Core 2 update kernel, please
try to reproduce it under Fedora Core 3, and reopen if necessary, changing the
product version accordingly.

Thank you.

Note You need to log in before you can comment on or make changes to this bug.