Bug 75251
Summary: | PCI/shpchp - wrong bus speed computation | ||
---|---|---|---|
Product: | Drivers | Reporter: | Marcel Apfelbaum (marcel.a) |
Component: | PCI | Assignee: | Greg Kroah-Hartman (greg) |
Status: | RESOLVED CODE_FIX | ||
Severity: | low | CC: | bjorn, m.s.tsirkin |
Priority: | P1 | ||
Hardware: | x86-64 | ||
OS: | Linux | ||
Kernel Version: | 3.15.0-rc1+ | Subsystem: | |
Regression: | Yes | Bisected commit-id: |
Description
Marcel Apfelbaum
2014-05-01 18:51:31 UTC
lspci -vv output: 00:00.0 Host bridge: Intel Corporation 440FX - 82441FX PMC [Natoma] (rev 02) Subsystem: Red Hat, Inc Qemu virtual machine Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx- Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- 00:01.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II] Subsystem: Red Hat, Inc Qemu virtual machine Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx- Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- 00:01.1 IDE interface: Intel Corporation 82371SB PIIX3 IDE [Natoma/Triton II] (prog-if 80 [Master]) Subsystem: Red Hat, Inc Qemu virtual machine Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx- Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 0 Region 0: [virtual] Memory at 000001f0 (32-bit, non-prefetchable) [size=8] Region 1: [virtual] Memory at 000003f0 (type 3, non-prefetchable) Region 2: [virtual] Memory at 00000170 (32-bit, non-prefetchable) [size=8] Region 3: [virtual] Memory at 00000370 (type 3, non-prefetchable) Region 4: I/O ports at d080 [size=16] Kernel driver in use: ata_piix 00:01.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 03) Subsystem: Red Hat, Inc Qemu virtual machine Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx- Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Interrupt: pin A routed to IRQ 9 Kernel driver in use: piix4_smbus 00:02.0 VGA compatible controller: Cirrus Logic GD 5446 (prog-if 00 [VGA controller]) Subsystem: Red Hat, Inc QEMU Virtual Machine Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx- Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Region 0: Memory at fc000000 (32-bit, prefetchable) [size=32M] Region 1: Memory at fea10000 (32-bit, non-prefetchable) [size=4K] Expansion ROM at fea00000 [disabled] [size=64K] Kernel driver in use: cirrus 00:03.0 PCI bridge: Red Hat, Inc. QEMU PCI-PCI bridge (prog-if 00 [Normal decode]) Physical Slot: 3 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx+ Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 0 Region 0: Memory at fea11000 (64-bit, non-prefetchable) [size=256] Bus: primary=00, secondary=01, subordinate=01, sec-latency=0 I/O behind bridge: 0000c000-0000cfff Memory behind bridge: fe800000-fe9fffff Prefetchable memory behind bridge: 00000000fe000000-00000000fe1fffff Secondary status: 66MHz+ FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR- BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B- PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn- Capabilities: [4c] MSI: Enable+ Count=1/1 Maskable+ 64bit+ Address: 00000000fee00000 Data: 4081 Masking: 00000000 Pending: 00000000 Capabilities: [48] Slot ID: 0 slots, First+, chassis 01 Capabilities: [40] Hot-plug capable Kernel driver in use: shpchp 00:04.0 Unclassified device [0002]: Red Hat, Inc Virtio filesystem Subsystem: Red Hat, Inc Device 0009 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx+ Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 0 Interrupt: pin A routed to IRQ 10 Region 0: I/O ports at d000 [size=64] Region 1: Memory at fea12000 (32-bit, non-prefetchable) [size=4K] Capabilities: [40] MSI-X: Enable+ Count=2 Masked- Vector table: BAR=1 offset=00000000 PBA: BAR=1 offset=00000800 Kernel driver in use: virtio-pci 00:05.0 SCSI storage controller: Red Hat, Inc Virtio block device Subsystem: Red Hat, Inc Device 0002 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx+ Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 0 Interrupt: pin A routed to IRQ 10 Region 0: I/O ports at d040 [size=64] Region 1: Memory at fea13000 (32-bit, non-prefetchable) [size=4K] Capabilities: [40] MSI-X: Enable+ Count=2 Masked- Vector table: BAR=1 offset=00000000 PBA: BAR=1 offset=00000800 Kernel driver in use: virtio-pci 01:01.0 Ethernet controller: Intel Corporation 82540EM Gigabit Ethernet Controller (rev 03) Subsystem: Red Hat, Inc QEMU Virtual Machine Physical Slot: 1 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx- Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 0 Interrupt: pin A routed to IRQ 10 Region 0: Memory at fe840000 (32-bit, non-prefetchable) [size=128K] Region 1: I/O ports at c000 [size=64] Expansion ROM at fe800000 [disabled] [size=256K] Kernel driver in use: e1000 On Thu, May 01, 2014 at 06:51:31PM +0000, bugzilla-daemon@bugzilla.kernel.org wrote: > https://bugzilla.kernel.org/show_bug.cgi?id=75251 > > Bug ID: 75251 > Summary: shpchp - wrong bus speed computation > Product: Drivers > Version: 2.5 > Kernel Version: 3.15.0-rc1+ > Hardware: x86-64 > OS: Linux > Tree: Mainline > Status: NEW > Severity: low > Priority: P1 > Component: HotPlug > Assignee: greg@kroah.com > Reporter: marcel.a@redhat.com > Regression: No > > When a board is added, the shpchp driver checks if there > is a mismatch between the bridge's adapter and the bus speed. > If there is, it sets the subordinate speed (if there is no device on it). Please send this to the linux-pci@vger.kernel.org mailing list. (In reply to Greg Kroah-Hartman from comment #2) > On Thu, May 01, 2014 at 06:51:31PM +0000, > bugzilla-daemon@bugzilla.kernel.org wrote: > > https://bugzilla.kernel.org/show_bug.cgi?id=75251 > > > > Bug ID: 75251 > > Summary: shpchp - wrong bus speed computation > > Product: Drivers > > Version: 2.5 > > Kernel Version: 3.15.0-rc1+ > > Hardware: x86-64 > > OS: Linux > > Tree: Mainline > > Status: NEW > > Severity: low > > Priority: P1 > > Component: HotPlug > > Assignee: greg@kroah.com > > Reporter: marcel.a@redhat.com > > Regression: No > > > > When a board is added, the shpchp driver checks if there > > is a mismatch between the bridge's adapter and the bus speed. > > If there is, it sets the subordinate speed (if there is no device on it). > > Please send this to the linux-pci@vger.kernel.org mailing list. Hi Greg, I already sent the issue to the mailing list with a patch containing the fix. Thanks, Marcel Looking at git history, I suspect this is a regression introduced by commit 3749c51ac6c1560aa1cb1520066bed84c6f8152a Author: Matthew Wilcox <matthew@wil.cx> Date: Sun Dec 13 08:11:32 2009 -0500 PCI: Make current and maximum bus speeds part of the PCI core At least I remember this configuration worked for me early in 2009... if that commit is really the culprit, then the last working kernel is v2.6.32. there are many live cds floating around using that kernel, should be easy to try one of them. I checked 2.6.24-26-generic that comes with Ubuntu 8.04 and it works OK. So it is a regression. This should be fixed by http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=93fa9d32670f5592c8e56abc9928fc194e1e72fc which will appear in v3.16-rc1. |