Bug 114943

Summary: acpi hotplug fails when PCI-PCI bridge involved
Product: Red Hat Enterprise Linux 3 Reporter: Matthew Wilcox <willy>
Component: kernelAssignee: Prarit Bhargava <prarit>
Status: CLOSED WONTFIX QA Contact: Brian Brock <bbrock>
Severity: high Docs Contact:
Priority: medium    
Version: 3.0CC: petrides, riel
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-03-23 15:55:08 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 Matthew Wilcox 2004-02-04 18:59:43 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux ia64; en-US; rv:1.6)
Gecko/20040122 Debian/1.6-1

Description of problem:
There are actually several bugs in the acpiphp driver,
but I'll limit myself to one here.

The acpiphp driver has no understanding of PCI-PCI bridges and
will merrily allocate IO resources already assigned to a bridge
to another device on the same bus.

Version-Release number of selected component (if applicable):
kernel-2.4.21-9.EL

How reproducible:
Always

Steps to Reproduce:
1. On an rx4640, plug a quad-port tulip card into slot 3 and a tg3
card into slot 4.
2. echo 0 >/proc/bus/pci/slots/4/power
3. echo 1 >/proc/bus/pci/slots/4/power

Actual Results:  Machine reboots

Expected Results:  Card should have been readded.

Additional info:

# lspci -v -s 80:
80:01.0 PCI bridge: Intel Corp. 21154 PCI-to-PCI Bridge (prog-if 00
[Normal decode])
        Flags: bus master, medium devsel, latency 128
        Bus: primary=80, secondary=81, subordinate=81, sec-latency=128
        I/O behind bridge: 00008000-00008fff
        Memory behind bridge: c0000000-c01fffff
        Capabilities: [dc] Power Management version 1

80:02.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5701
Gigabit Ethernet (rev 15)
        Subsystem: Hewlett-Packard Company: Unknown device 128a
        Flags: bus master, 66Mhz, medium devsel, latency 128, IRQ 58
        Memory at 00000000c0200000 (64-bit, non-prefetchable) [size=64K]
        Capabilities: [40] PCI-X non-bridge device.
        Capabilities: [48] Power Management version 2
        Capabilities: [50] Vital Product Data
        Capabilities: [58] Message Signalled Interrupts: 64bit+
Queue=0/3 Enable-

The tulip cards behind the bridge are all assigned addresses in
the 0xc010xxxx range, and the acpiphp driver only notices these
resources, instead of paying attention to the PCI-PCI bridge
resources.  So when it comes to add the tg3 card, it looks for
some available address space, and allocates 0xc000'0000 to
0xc001'0000 to it.  Splat.

I'm planning on working on this bug myself, filing it now for
tracking purposes.

Comment 1 Jim Paradis 2004-06-28 20:39:35 UTC
Matthew - any updates on this?


Comment 2 Red Hat Bugzilla 2007-03-18 22:17:04 UTC
User jparadis's account has been closed

Comment 4 Prarit Bhargava 2007-03-23 15:55:08 UTC
Closing as WONTFIX as RHEL3 series will only be taking critical fixes.