Bug 6568 - forcedeth broken by commit ebf34c9b6fcd22338ef764b039b3ac55ed0e297b
Summary: forcedeth broken by commit ebf34c9b6fcd22338ef764b039b3ac55ed0e297b
Status: CLOSED CODE_FIX
Alias: None
Product: Drivers
Classification: Unclassified
Component: Network (show other bugs)
Hardware: i386 Linux
: P2 high
Assignee: Ayaz Abdulla
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-05-16 15:53 UTC by Alistair Strachan
Modified: 2006-05-20 12:17 UTC (History)
3 users (show)

See Also:
Kernel Version: 2.6.17-rc4
Tree: Mainline
Regression: ---


Attachments

Description Alistair Strachan 2006-05-16 15:53:01 UTC
Most recent kernel where this bug did not occur: 2.6.17-rc3

Hardware Environment:

00:00.0 Memory controller: nVidia Corporation CK804 Memory Controller (rev a3)
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- 
<MAbort- >SERR- <PERR-
        Latency: 0
        Capabilities: [44] #08 [01e0]
        Capabilities: [e0] #08 [a801]

00:01.0 ISA bridge: nVidia Corporation CK804 ISA Bridge (rev a3)
        Subsystem: nVidia Corporation: Unknown device cb84
        Control: I/O+ Mem+ BusMaster+ SpecCycle+ MemWINV- VGASnoop- ParErr- 
Stepping- SERR- FastB2B-
        Status: Cap- 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- 
<MAbort- >SERR- <PERR-
        Latency: 0

00:01.1 SMBus: nVidia Corporation CK804 SMBus (rev a2)
        Subsystem: nVidia Corporation: Unknown device cb84
        Control: I/O+ Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- 
<MAbort- >SERR- <PERR-
        Interrupt: pin A routed to IRQ 4
        Region 0: I/O ports at fc00 [size=32]
        Region 4: I/O ports at 1c00 [size=64]
        Region 5: I/O ports at 1c40 [size=64]
        Capabilities: [44] Power Management version 2
                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA 
PME(D0-,D1-,D2-,D3hot+,D3cold+)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:02.0 USB Controller: nVidia Corporation CK804 USB Controller (rev a2) 
(prog-if 10 [OHCI])
        Subsystem: nVidia Corporation: Unknown device cb84
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- 
<MAbort- >SERR- <PERR-
        Latency: 0 (750ns min, 250ns max)
        Interrupt: pin A routed to IRQ 233
        Region 0: Memory at fe02f000 (32-bit, non-prefetchable) [size=4K]
        Capabilities: [44] Power Management version 2
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA 
PME(D0+,D1+,D2+,D3hot+,D3cold+)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:02.1 USB Controller: nVidia Corporation CK804 USB Controller (rev a3) 
(prog-if 20 [EHCI])
        Subsystem: nVidia Corporation: Unknown device cb84
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- 
<MAbort- >SERR- <PERR-
        Latency: 0 (750ns min, 250ns max)
        Interrupt: pin B routed to IRQ 225
        Region 0: Memory at feb00000 (32-bit, non-prefetchable) [size=256]
        Capabilities: [44] #0a [2098]
        Capabilities: [80] Power Management version 2
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA 
PME(D0+,D1+,D2+,D3hot+,D3cold+)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:04.0 Multimedia audio controller: nVidia Corporation CK804 AC'97 Audio 
Controller (rev a2)
        Subsystem: nVidia Corporation: Unknown device cb84
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- 
<MAbort- >SERR- <PERR-
        Latency: 0 (500ns min, 1250ns max)
        Interrupt: pin A routed to IRQ 58
        Region 0: I/O ports at f000 [size=256]
        Region 1: I/O ports at ec00 [size=256]
        Region 2: Memory at fe02d000 (32-bit, non-prefetchable) [size=4K]
        Capabilities: [44] Power Management version 2
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA 
PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:06.0 IDE interface: nVidia Corporation CK804 IDE (rev a2) (prog-if 8a 
[Master SecP PriP])
        Subsystem: nVidia Corporation: Unknown device cb84
        Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- 
<MAbort- >SERR- <PERR-
        Latency: 0 (750ns min, 250ns max)
        Region 4: I/O ports at e800 [size=16]
        Capabilities: [44] Power Management version 2
                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA 
PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:07.0 IDE interface: nVidia Corporation CK804 Serial ATA Controller (rev a3) 
(prog-if 85 [Master SecO PriO])
        Subsystem: nVidia Corporation: Unknown device cb84
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- 
<MAbort- >SERR- <PERR-
        Latency: 0 (750ns min, 250ns max)
        Interrupt: pin A routed to IRQ 225
        Region 0: I/O ports at 09f0 [size=8]
        Region 1: I/O ports at 0bf0 [size=4]
        Region 2: I/O ports at 0970 [size=8]
        Region 3: I/O ports at 0b70 [size=4]
        Region 4: I/O ports at d400 [size=16]
        Region 5: Memory at fe02c000 (32-bit, non-prefetchable) [size=4K]
        Capabilities: [44] Power Management version 2
                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA 
PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:08.0 IDE interface: nVidia Corporation CK804 Serial ATA Controller (rev a3) 
(prog-if 85 [Master SecO PriO])
        Subsystem: nVidia Corporation: Unknown device cb84
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- 
<MAbort- >SERR- <PERR-
        Latency: 0 (750ns min, 250ns max)
        Interrupt: pin A routed to IRQ 233
        Region 0: I/O ports at 09e0 [size=8]
        Region 1: I/O ports at 0be0 [size=4]
        Region 2: I/O ports at 0960 [size=8]
        Region 3: I/O ports at 0b60 [size=4]
        Region 4: I/O ports at c000 [size=16]
        Region 5: Memory at fe02b000 (32-bit, non-prefetchable) [size=4K]
        Capabilities: [44] Power Management version 2
                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA 
PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:09.0 PCI bridge: nVidia Corporation CK804 PCI Bridge (rev a2) (prog-if 01 
[Subtractive decode])
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR- FastB2B-
        Status: Cap- 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- 
<MAbort- >SERR- <PERR-
        Latency: 0
        Bus: primary=00, secondary=01, subordinate=02, sec-latency=32
        I/O behind bridge: 0000a000-0000afff
        Memory behind bridge: d8000000-dfffffff
        Prefetchable memory behind bridge: fdf00000-fdffffff
        BridgeCtl: Parity- SERR- NoISA+ VGA- MAbort- >Reset- FastB2B-

00:0a.0 Bridge: nVidia Corporation CK804 Ethernet Controller (rev a3)
        Subsystem: nVidia Corporation: Unknown device cb84
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- 
<MAbort- >SERR- <PERR-
        Latency: 0 (250ns min, 5000ns max)
        Interrupt: pin A routed to IRQ 66
        Region 0: Memory at fe02a000 (32-bit, non-prefetchable) [size=4K]
        Region 1: I/O ports at bc00 [size=8]
        Capabilities: [44] Power Management version 2
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA 
PME(D0+,D1+,D2+,D3hot+,D3cold+)
                Status: D0 PME-Enable+ DSel=0 DScale=0 PME-

00:0b.0 PCI bridge: nVidia Corporation CK804 PCIE Bridge (rev a3) (prog-if 00 
[Normal decode])
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- 
<MAbort- >SERR- <PERR-
        Latency: 0, cache line size 08
        Bus: primary=00, secondary=03, subordinate=03, sec-latency=0
        I/O behind bridge: 00009000-00009fff
        Memory behind bridge: fde00000-fdefffff
        Prefetchable memory behind bridge: 00000000fdd00000-00000000fdd00000
        BridgeCtl: Parity- SERR- NoISA+ VGA- MAbort- >Reset- FastB2B-
        Capabilities: [40] Power Management version 2
                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA 
PME(D0+,D1+,D2+,D3hot+,D3cold+)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-
        Capabilities: [48] Message Signalled Interrupts: 64bit+ Queue=0/1 
Enable+
                Address: 00000000fee00000  Data: 40c1
        Capabilities: [58] #08 [a800]
        Capabilities: [80] #10 [0141]

00:0c.0 PCI bridge: nVidia Corporation CK804 PCIE Bridge (rev a3) (prog-if 00 
[Normal decode])
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- 
<MAbort- >SERR- <PERR-
        Latency: 0, cache line size 08
        Bus: primary=00, secondary=04, subordinate=04, sec-latency=0
        I/O behind bridge: 00008000-00008fff
        Memory behind bridge: fdc00000-fdcfffff
        Prefetchable memory behind bridge: 00000000fdb00000-00000000fdb00000
        BridgeCtl: Parity- SERR- NoISA+ VGA- MAbort- >Reset- FastB2B-
        Capabilities: [40] Power Management version 2
                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA 
PME(D0+,D1+,D2+,D3hot+,D3cold+)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-
        Capabilities: [48] Message Signalled Interrupts: 64bit+ Queue=0/1 
Enable+
                Address: 00000000fee00000  Data: 40c9
        Capabilities: [58] #08 [a800]
        Capabilities: [80] #10 [0141]

00:0d.0 PCI bridge: nVidia Corporation CK804 PCIE Bridge (rev a3) (prog-if 00 
[Normal decode])
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- 
<MAbort- >SERR- <PERR-
        Latency: 0, cache line size 08
        Bus: primary=00, secondary=05, subordinate=05, sec-latency=0
        I/O behind bridge: 00007000-00007fff
        Memory behind bridge: fda00000-fdafffff
        Prefetchable memory behind bridge: 00000000fd900000-00000000fd900000
        BridgeCtl: Parity- SERR- NoISA+ VGA- MAbort- >Reset- FastB2B-
        Capabilities: [40] Power Management version 2
                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA 
PME(D0+,D1+,D2+,D3hot+,D3cold+)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-
        Capabilities: [48] Message Signalled Interrupts: 64bit+ Queue=0/1 
Enable+
                Address: 00000000fee00000  Data: 40d1
        Capabilities: [58] #08 [a800]
        Capabilities: [80] #10 [0141]

00:0e.0 PCI bridge: nVidia Corporation CK804 PCIE Bridge (rev a3) (prog-if 00 
[Normal decode])
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- 
<MAbort- >SERR- <PERR-
        Latency: 0, cache line size 08
        Bus: primary=00, secondary=06, subordinate=06, sec-latency=0
        I/O behind bridge: 00006000-00006fff
        Memory behind bridge: fa000000-fcffffff
        Prefetchable memory behind bridge: 00000000c0000000-00000000cff00000
        BridgeCtl: Parity- SERR- NoISA+ VGA+ MAbort- >Reset- FastB2B-
        Capabilities: [40] Power Management version 2
                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA 
PME(D0+,D1+,D2+,D3hot+,D3cold+)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-
        Capabilities: [48] Message Signalled Interrupts: 64bit+ Queue=0/1 
Enable+
                Address: 00000000fee00000  Data: 40d9
        Capabilities: [58] #08 [a800]
        Capabilities: [80] #10 [0141]

00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] 
HyperTransport Technology Configuration
        Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- 
<MAbort- >SERR- <PERR-
        Capabilities: [80] #08 [2101]

00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address 
Map
        Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR- FastB2B-
        Status: Cap- 66Mhz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- 
<MAbort- >SERR- <PERR-

00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM 
Controller
        Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR- FastB2B-
        Status: Cap- 66Mhz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- 
<MAbort- >SERR- <PERR-

00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] 
Miscellaneous Control
        Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR- FastB2B-
        Status: Cap- 66Mhz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- 
<MAbort- >SERR- <PERR-

01:06.0 Multimedia audio controller: Creative Labs SB Audigy (rev 04)
        Subsystem: Creative Labs: Unknown device 1002
        Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- 
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 32 (500ns min, 5000ns max)
        Interrupt: pin A routed to IRQ 50
        Region 0: I/O ports at a800 [size=64]
        Capabilities: [dc] Power Management version 2
                Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=0mA 
PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-

01:06.1 Input device controller: Creative Labs SB Audigy MIDI/Game port (rev 
04)
        Subsystem: Creative Labs: Unknown device 0060
        Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- 
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 32
        Region 0: I/O ports at a400 [size=8]
        Capabilities: [dc] Power Management version 2
                Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=0mA 
PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-

01:06.2 FireWire (IEEE 1394): Creative Labs SB Audigy FireWire Port (rev 04) 
(prog-if 10 [OHCI])
        Subsystem: Creative Labs SB Audigy FireWire Port
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- 
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 32 (500ns min, 1000ns max), cache line size 08
        Interrupt: pin B routed to IRQ 177
        Region 0: Memory at dffff000 (32-bit, non-prefetchable) [size=2K]
        Region 1: Memory at dfff8000 (32-bit, non-prefetchable) [size=16K]
        Capabilities: [44] Power Management version 2
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA 
PME(D0+,D1+,D2+,D3hot+,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME+

01:07.0 CardBus bridge: Ricoh Co Ltd RL5c475 (rev 81)
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- 
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 168
        Interrupt: pin A routed to IRQ 177
        Region 0: Memory at dfffe000 (32-bit, non-prefetchable) [size=4K]
        Bus: primary=01, secondary=02, subordinate=05, sec-latency=176
        Memory window 0: d8000000-d9fff000 (prefetchable)
        Memory window 1: da000000-dbfff000
        I/O window 0: 0000ac00-0000acff
        I/O window 1: 00002000-000020ff
        BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset- 16bInt+ PostWrite+
        16-bit legacy interface ports at 0001

01:09.0 FireWire (IEEE 1394): VIA Technologies, Inc. IEEE 1394 Host Controller 
(rev 80) (prog-if 10 [OHCI])
        Subsystem: DFI Inc: Unknown device 1006
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping+ SERR- FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- 
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 32 (8000ns max), cache line size 08
        Interrupt: pin A routed to IRQ 74
        Region 0: Memory at dfffc000 (32-bit, non-prefetchable) [size=2K]
        Region 1: I/O ports at a000 [size=128]
        Capabilities: [50] Power Management version 2
                Flags: PMEClk- DSI- D1- D2+ AuxCurrent=0mA 
PME(D0-,D1-,D2+,D3hot+,D3cold+)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-

01:0a.0 Ethernet controller: Marvell Technology Group Ltd. 88E8001 Gigabit 
Ethernet Controller (rev 13)
        Subsystem: DFI Inc: Unknown device 100a
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- 
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 32 (5750ns min, 7750ns max), cache line size 08
        Interrupt: pin A routed to IRQ 50
        Region 0: Memory at dfff4000 (32-bit, non-prefetchable) [size=16K]
        Region 1: I/O ports at 2400 [size=256]
        Expansion ROM at fdf00000 [disabled] [size=128K]
        Capabilities: [48] Power Management version 2
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA 
PME(D0+,D1+,D2+,D3hot+,D3cold+)
                Status: D0 PME-Enable- DSel=0 DScale=1 PME-
        Capabilities: [50] Vital Product Data

06:00.0 VGA compatible controller: nVidia Corporation NV41.0 (rev a2) (prog-if 
00 [VGA])
        Subsystem: nVidia Corporation: Unknown device 0339
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- 
<MAbort- >SERR- <PERR-
        Latency: 0
        Interrupt: pin A routed to IRQ 50
        Region 0: Memory at fa000000 (32-bit, non-prefetchable) [size=16M]
        Region 1: Memory at c0000000 (64-bit, prefetchable) [size=256M]
        Region 3: Memory at fb000000 (64-bit, non-prefetchable) [size=16M]
        Expansion ROM at fc000000 [disabled] [size=128K]
        Capabilities: [60] Power Management version 2
                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA 
PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-
        Capabilities: [68] Message Signalled Interrupts: 64bit+ Queue=0/0 
Enable-
                Address: 0000000000000000  Data: 0000
        Capabilities: [78] #10 [0001]


[    0.000000] Bootdata ok (command line is vga=794 root=/dev/sda1 quiet)
[    0.000000] Linux version 2.6.17-rc4 (alistair@damocles) (gcc version 4.1.0) 
#1 SMP PREEMPT Fri May 12 02:09:03 BST 2006
[    0.000000] BIOS-provided physical RAM map:
[    0.000000]  BIOS-e820: 0000000000000000 - 000000000009f400 (usable)
[    0.000000]  BIOS-e820: 000000000009f400 - 00000000000a0000 (reserved)
[    0.000000]  BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
[    0.000000]  BIOS-e820: 0000000000100000 - 000000007fee0000 (usable)
[    0.000000]  BIOS-e820: 000000007fee0000 - 000000007fee3000 (ACPI NVS)
[    0.000000]  BIOS-e820: 000000007fee3000 - 000000007fef0000 (ACPI data)
[    0.000000]  BIOS-e820: 000000007fef0000 - 000000007ff00000 (reserved)
[    0.000000]  BIOS-e820: 00000000e0000000 - 00000000f0000000 (reserved)
[    0.000000]  BIOS-e820: 00000000fec00000 - 0000000100000000 (reserved)
[    0.000000] DMI 2.2 present.
[    0.000000] ACPI: RSDP (v000 Nvidia                                ) @ 
0x00000000000f8160
[    0.000000] ACPI: RSDT (v001 Nvidia AWRDACPI 0x42302e31 AWRD 0x00000000) @ 
0x000000007fee3040
[    0.000000] ACPI: FADT (v001 Nvidia AWRDACPI 0x42302e31 AWRD 0x00000000) @ 
0x000000007fee30c0
[    0.000000] ACPI: MCFG (v001 Nvidia AWRDACPI 0x42302e31 AWRD 0x00000000) @ 
0x000000007fee92c0
[    0.000000] ACPI: MADT (v001 Nvidia AWRDACPI 0x42302e31 AWRD 0x00000000) @ 
0x000000007fee9200
[    0.000000] ACPI: DSDT (v001 NVIDIA AWRDACPI 0x00001000 MSFT 0x0100000e) @ 
0x0000000000000000
[    0.000000] On node 0 totalpages: 515469
[    0.000000]   DMA zone: 2673 pages, LIFO batch:0
[    0.000000]   DMA32 zone: 512796 pages, LIFO batch:31
[    0.000000] Nvidia board detected. Ignoring ACPI timer override.
[    0.000000] ACPI: PM-Timer IO Port: 0x1008
[    0.000000] ACPI: Local APIC address 0xfee00000
[    0.000000] ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
[    0.000000] Processor #0 15:3 APIC version 16
[    0.000000] ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] enabled)
[    0.000000] Processor #1 15:3 APIC version 16
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x00] high edge lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1])
[    0.000000] ACPI: IOAPIC (id[0x02] address[0xfec00000] gsi_base[0])
[    0.000000] IOAPIC[0]: apic_id 2, version 17, address 0xfec00000, GSI 0-23
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 14 global_irq 14 high edge)
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 15 global_irq 15 high edge)
[    0.000000] ACPI: IRQ9 used by override.
[    0.000000] ACPI: IRQ14 used by override.
[    0.000000] ACPI: IRQ15 used by override.
[    0.000000] Setting APIC routing to physical flat
[    0.000000] Using ACPI (MADT) for SMP configuration information
[    0.000000] Allocating PCI resources starting at 80000000 (gap: 
7ff00000:60100000)
[    0.000000] SMP: Allowing 2 CPUs, 0 hotplug CPUs
[    0.000000] Built 1 zonelists
[    0.000000] Kernel command line: vga=794 root=/dev/sda1 quiet
[    0.000000] Initializing CPU#0
[    0.000000] PID hash table entries: 4096 (order: 12, 32768 bytes)
[    0.000000] Disabling vsyscall due to use of PM timer
[    0.000000] time.c: Using 3.579545 MHz WALL PM GTOD PM timer.
[    0.000000] time.c: Detected 2500.774 MHz processor.
[   26.097224] Console: colour dummy device 80x25
[   26.098059] Dentry cache hash table entries: 262144 (order: 9, 2097152 
bytes)
[   26.099308] Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes)
[   26.114491] Memory: 2058408k/2096000k available (2377k kernel code, 36968k 
reserved, 1151k data, 164k init)
[   26.174093] Calibrating delay using timer specific routine.. 5003.57 
BogoMIPS (lpj=2501785)
[   26.174128] Mount-cache hash table entries: 256
[   26.174206] CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 
bytes/line)
[   26.174209] CPU: L2 Cache: 512K (64 bytes/line)
[   26.192907] Using local APIC timer interrupts.
[   26.232853] result 15629861
[   26.232854] Detected 15.629 MHz APIC timer.
[   26.233106] Booting processor 1/2 APIC 0x1
[   26.241900] Initializing CPU#1
[   26.302476] Calibrating delay using timer specific routine.. 5000.69 
BogoMIPS (lpj=2500349)
[   26.302481] CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 
bytes/line)
[   26.302483] CPU: L2 Cache: 512K (64 bytes/line)
[   26.302542] AMD Athlon(tm) 64 X2 Dual Core Processor 3800+ stepping 02
[   26.303481] CPU 1: Syncing TSC to CPU 0.
[   26.304999] CPU 1: synchronized TSC with CPU 0 (last diff 0 cycles, maxerr 
536 cycles)
[   26.305003] Brought up 2 CPUs
[   26.305033] testing NMI watchdog ... OK.
[   26.913720] migration_cost=138
[   26.914016] NET: Registered protocol family 16
[   26.914034] ACPI: bus type pci registered
[   26.916348] PCI: Using MMCONFIG at e0000000
[   26.916368] PCI: No mmconfig possible on device 0:18
[   26.916870] ACPI: Subsystem revision 20060127
[   26.922781] ACPI: Interpreter enabled
[   26.922783] ACPI: Using IOAPIC for interrupt routing
[   26.923202] ACPI: PCI Root Bridge [PCI0] (0000:00)
[   26.923204] PCI: Probing PCI hardware (bus 00)
[   26.927660] PCI: Transparent bridge - 0000:00:09.0
[   26.927692] PCI: Bus #02 (-#05) is hidden behind transparent bridge #01 
(-#02) (try 'pci=assign-busses')
[   26.927694] Please report the result to linux-kernel to fix this permanently
[   26.927871] Boot video device is 0000:06:00.0
[   26.927920] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
[   26.984899] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.HUB0._PRT]
[   26.986576] ACPI: PCI Interrupt Link [LNK1] (IRQs 3 4 5 7 9 10 11 12 14 15) 
*0, disabled.
[   26.986848] ACPI: PCI Interrupt Link [LNK2] (IRQs 3 4 5 7 9 *10 11 12 14 15)
[   26.987122] ACPI: PCI Interrupt Link [LNK3] (IRQs 3 4 *5 7 9 10 11 12 14 15)
[   26.987390] ACPI: PCI Interrupt Link [LNK4] (IRQs 3 *4 5 7 9 10 11 12 14 15)
[   26.987662] ACPI: PCI Interrupt Link [LNK5] (IRQs 3 4 5 7 9 10 11 12 14 15) 
*0, disabled.
[   26.987931] ACPI: PCI Interrupt Link [LUBA] (IRQs *3 4 5 7 9 10 11 12 14 15)
[   26.988203] ACPI: PCI Interrupt Link [LUBB] (IRQs 3 4 5 7 9 10 11 12 14 15) 
*0, disabled.
[   26.988471] ACPI: PCI Interrupt Link [LMAC] (IRQs 3 4 5 7 9 10 *11 12 14 15)
[   26.988740] ACPI: PCI Interrupt Link [LACI] (IRQs *3 4 5 7 9 10 11 12 14 15)
[   26.989011] ACPI: PCI Interrupt Link [LMCI] (IRQs 3 4 5 7 9 10 11 12 14 15) 
*0, disabled.
[   26.989285] ACPI: PCI Interrupt Link [LSMB] (IRQs 3 *4 5 7 9 10 11 12 14 15)
[   26.989554] ACPI: PCI Interrupt Link [LUB2] (IRQs 3 4 *5 7 9 10 11 12 14 15)
[   26.989824] ACPI: PCI Interrupt Link [LIDE] (IRQs 3 4 5 7 9 10 11 12 14 15) 
*0, disabled.
[   26.990104] ACPI: PCI Interrupt Link [LSID] (IRQs 3 4 5 7 9 10 *11 12 14 15)
[   26.990382] ACPI: PCI Interrupt Link [LFID] (IRQs 3 4 5 7 9 *10 11 12 14 15)
[   26.990658] ACPI: PCI Interrupt Link [LPCA] (IRQs 3 4 5 7 9 10 11 12 14 15) 
*0, disabled.
[   26.990964] ACPI: PCI Interrupt Link [APC1] (IRQs 16) *0, disabled.
[   26.991264] ACPI: PCI Interrupt Link [APC2] (IRQs 17) *0, disabled.
[   26.991560] ACPI: PCI Interrupt Link [APC3] (IRQs 18) *0, disabled.
[   26.991856] ACPI: PCI Interrupt Link [APC4] (IRQs 19) *0, disabled.
[   26.992089] ACPI: PCI Interrupt Link [APC5] (IRQs *16), disabled.
[   26.992402] ACPI: PCI Interrupt Link [APCF] (IRQs 20 21 22 23) *0, disabled.
[   26.992713] ACPI: PCI Interrupt Link [APCG] (IRQs 20 21 22 23) *0, disabled.
[   26.993023] ACPI: PCI Interrupt Link [APCH] (IRQs 20 21 22 23) *0, disabled.
[   26.993334] ACPI: PCI Interrupt Link [APCJ] (IRQs 20 21 22 23) *0, disabled.
[   26.993641] ACPI: PCI Interrupt Link [APCK] (IRQs 20 21 22 23) *0, disabled.
[   26.993947] ACPI: PCI Interrupt Link [APCS] (IRQs 20 21 22 23) *0, disabled.
[   26.994257] ACPI: PCI Interrupt Link [APCL] (IRQs 20 21 22 23) *0, disabled.
[   26.994569] ACPI: PCI Interrupt Link [APCZ] (IRQs 20 21 22 23) *0, disabled.
[   26.994883] ACPI: PCI Interrupt Link [APSI] (IRQs 20 21 22 23) *0, disabled.
[   26.995201] ACPI: PCI Interrupt Link [APSJ] (IRQs 20 21 22 23) *0, disabled.
[   26.995514] ACPI: PCI Interrupt Link [APCP] (IRQs 20 21 22 23) *0, disabled.
[   26.996926] SCSI subsystem initialized
[   26.996964] PCI: Using ACPI for IRQ routing
[   26.996967] PCI: If a device doesn't work, try "pci=routeirq".  If it helps, 
post a report
[   26.996998] PCI: Cannot allocate resource region 1 of device 0000:01:0a.0
[   26.997568] PCI: Bus 2, cardbus bridge: 0000:01:07.0
[   26.997570]   IO window: 0000ac00-0000acff
[   26.997572]   IO window: 00002000-000020ff
[   26.997575]   PREFETCH window: d8000000-d9ffffff
[   26.997578]   MEM window: da000000-dbffffff
[   26.997581] PCI: Bridge: 0000:00:09.0
[   26.997582]   IO window: a000-afff
[   26.997585]   MEM window: d8000000-dfffffff
[   26.997587]   PREFETCH window: fdf00000-fdffffff
[   26.997589] PCI: Bridge: 0000:00:0b.0
[   26.997591]   IO window: 9000-9fff
[   26.997593]   MEM window: fde00000-fdefffff
[   26.997595]   PREFETCH window: fdd00000-fddfffff
[   26.997597] PCI: Bridge: 0000:00:0c.0
[   26.997599]   IO window: 8000-8fff
[   26.997601]   MEM window: fdc00000-fdcfffff
[   26.997603]   PREFETCH window: fdb00000-fdbfffff
[   26.997605] PCI: Bridge: 0000:00:0d.0
[   26.997607]   IO window: 7000-7fff
[   26.997609]   MEM window: fda00000-fdafffff
[   26.997611]   PREFETCH window: fd900000-fd9fffff
[   26.997613] PCI: Bridge: 0000:00:0e.0
[   26.997615]   IO window: 6000-6fff
[   26.997617]   MEM window: fa000000-fcffffff
[   26.997619]   PREFETCH window: c0000000-cfffffff
[   26.997625] PCI: Setting latency timer of device 0000:00:09.0 to 64
[   26.997827] ACPI: PCI Interrupt Link [APC4] enabled at IRQ 19
[   26.997831] GSI 16 sharing vector 0xB1 and IRQ 16
[   26.997836] ACPI: PCI Interrupt 0000:01:07.0[A] -> Link [APC4] -> GSI 19 
(level, low) -> IRQ 177
[   26.997843] PCI: Setting latency timer of device 0000:00:0b.0 to 64
[   26.997847] PCI: Setting latency timer of device 0000:00:0c.0 to 64
[   26.997851] PCI: Setting latency timer of device 0000:00:0d.0 to 64
[   26.997855] PCI: Setting latency timer of device 0000:00:0e.0 to 64
[   26.997875] NET: Registered protocol family 2
[   27.008113] IP route cache hash table entries: 65536 (order: 7, 524288 
bytes)
[   27.008353] TCP established hash table entries: 262144 (order: 10, 4194304 
bytes)
[   27.010421] TCP bind hash table entries: 65536 (order: 8, 1048576 bytes)
[   27.010925] TCP: Hash tables configured (established 262144 bind 65536)
[   27.010928] TCP reno registered
[   27.011207] IA32 emulation $Id: sys_ia32.c,v 1.32 2002/03/24 13:02:28 ak Exp 
$
[   27.011757] SGI XFS with large block/inode numbers, no debug enabled
[   27.011867] io scheduler noop registered
[   27.011873] io scheduler anticipatory registered (default)
[   32.517418] 0000:00:02.1 EHCI: BIOS handoff failed (BIOS bug ?) 01010001
[   32.517690] PCI: Setting latency timer of device 0000:00:0b.0 to 64
[   32.517694] pcie_portdrv_probe->Dev[005d:10de] has invalid IRQ. Check vendor 
BIOS
[   32.517708] assign_interrupt_mode Found MSI capability
[   32.517734] Allocate Port Service[0000:00:0b.0:pcie00]
[   32.517765] Allocate Port Service[0000:00:0b.0:pcie03]
[   32.517791] PCI: Setting latency timer of device 0000:00:0c.0 to 64
[   32.517793] pcie_portdrv_probe->Dev[005d:10de] has invalid IRQ. Check vendor 
BIOS
[   32.517805] assign_interrupt_mode Found MSI capability
[   32.517820] Allocate Port Service[0000:00:0c.0:pcie00]
[   32.517842] Allocate Port Service[0000:00:0c.0:pcie03]
[   32.517870] PCI: Setting latency timer of device 0000:00:0d.0 to 64
[   32.517873] pcie_portdrv_probe->Dev[005d:10de] has invalid IRQ. Check vendor 
BIOS
[   32.517884] assign_interrupt_mode Found MSI capability
[   32.517899] Allocate Port Service[0000:00:0d.0:pcie00]
[   32.517922] Allocate Port Service[0000:00:0d.0:pcie03]
[   32.517949] PCI: Setting latency timer of device 0000:00:0e.0 to 64
[   32.517951] pcie_portdrv_probe->Dev[005d:10de] has invalid IRQ. Check vendor 
BIOS
[   32.517963] assign_interrupt_mode Found MSI capability
[   32.517976] Allocate Port Service[0000:00:0e.0:pcie00]
[   32.518001] Allocate Port Service[0000:00:0e.0:pcie03]
[   32.518083] vesafb: framebuffer at 0xc0000000, mapped to 0xffffc20010100000, 
using 5120k, total 262144k
[   32.518086] vesafb: mode is 1280x1024x16, linelength=2560, pages=1
[   32.518088] vesafb: scrolling: redraw
[   32.518090] vesafb: Truecolor: size=0:5:6:5, shift=0:11:5:0
[   32.531758] Console: switching to colour frame buffer device 160x64
[   32.531762] fb0: VESA VGA frame buffer device
[   32.531780] ACPI: Power Button (FF) [PWRF]
[   32.531788] ACPI: Power Button (CM) [PWRB]
[   32.531805] ACPI: Fan [FAN] (on)
[   32.535580] ACPI: Thermal Zone [THRM] (40 C)
[   32.536873] Real Time Clock Driver v1.12ac
[   32.537092] loop: loaded (max 8 devices)
[   32.537159] Linux video capture interface: v1.00
[   32.537164] Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
[   32.537167] ide: Assuming 33MHz system bus speed for PIO modes; override 
with idebus=xx
[   32.537191] NFORCE-CK804: IDE controller at PCI slot 0000:00:06.0
[   32.537202] NFORCE-CK804: chipset revision 162
[   32.537204] NFORCE-CK804: not 100% native mode: will probe irqs later
[   32.537208] NFORCE-CK804: 0000:00:06.0 (rev a2) UDMA133 controller
[   32.537213]     ide0: BM-DMA at 0xe800-0xe807, BIOS settings: hda:DMA, 
hdb:DMA
[   32.537220]     ide1: BM-DMA at 0xe808-0xe80f, BIOS settings: hdc:DMA, 
hdd:DMA
[   32.537226] Probing IDE interface ide0...
[   33.055765] Probing IDE interface ide1...
[   33.727027] hdc: _NEC DVD_RW ND-3550A, ATAPI CD/DVD-ROM drive
[   34.339619] isa bounce pool size: 16 pages
[   34.339625] ide1 at 0x170-0x177,0x376 on irq 15
[   34.340397] hdc: ATAPI 48X DVD-ROM DVD-R CD-R/RW drive, 2048kB Cache, 
UDMA(33)
[   34.340402] Uniform CD-ROM driver Revision: 3.20
[   34.342549] libata version 1.20 loaded.
[   34.342570] sata_nv 0000:00:07.0: version 0.8
[   34.342975] ACPI: PCI Interrupt Link [APSI] enabled at IRQ 23
[   34.342979] GSI 17 sharing vector 0xE1 and IRQ 17
[   34.342984] ACPI: PCI Interrupt 0000:00:07.0[A] -> Link [APSI] -> GSI 23 
(level, low) -> IRQ 225
[   34.343129] PCI: Setting latency timer of device 0000:00:07.0 to 64
[   34.343187] ata1: SATA max UDMA/133 cmd 0x9F0 ctl 0xBF2 bmdma 0xD400 irq 225
[   34.343203] ata2: SATA max UDMA/133 cmd 0x970 ctl 0xB72 bmdma 0xD408 irq 225
[   34.543964] ata1: SATA link up 3.0 Gbps (SStatus 123)
[   34.697875] ata1: dev 0 cfg 49:2f00 82:746b 83:7f01 84:4023 85:7469 86:3c01 
87:4023 88:407f
[   34.697878] ata1: dev 0 ATA-7, max UDMA/133, 488397168 sectors: LBA48
[   34.697968] nv_sata: Primary device added
[   34.697969] nv_sata: Primary device removed
[   34.697971] nv_sata: Secondary device added
[   34.697972] nv_sata: Secondary device removed
[   34.700868] ata1: dev 0 configured for UDMA/133
[   34.700870] scsi0 : sata_nv
[   34.901531] ata2: SATA link up 3.0 Gbps (SStatus 123)
[   35.055439] ata2: dev 0 cfg 49:2f00 82:746b 83:7f01 84:4023 85:7469 86:3c01 
87:4023 88:407f
[   35.055442] ata2: dev 0 ATA-7, max UDMA/133, 488397168 sectors: LBA48
[   35.055530] nv_sata: Primary device added
[   35.055532] nv_sata: Primary device removed
[   35.055533] nv_sata: Secondary device added
[   35.055534] nv_sata: Secondary device removed
[   35.058434] ata2: dev 0 configured for UDMA/133
[   35.058436] scsi1 : sata_nv
[   35.058511]   Vendor: ATA       Model: WDC WD2500KS-00M  Rev: 02.0
[   35.058519]   Type:   Direct-Access                      ANSI SCSI revision: 
05
[   35.058598]   Vendor: ATA       Model: WDC WD2500KS-00M  Rev: 02.0
[   35.058605]   Type:   Direct-Access                      ANSI SCSI revision: 
05
[   35.059059] ACPI: PCI Interrupt Link [APSJ] enabled at IRQ 22
[   35.059062] GSI 18 sharing vector 0xE9 and IRQ 18
[   35.059066] ACPI: PCI Interrupt 0000:00:08.0[A] -> Link [APSJ] -> GSI 22 
(level, low) -> IRQ 233
[   35.059174] PCI: Setting latency timer of device 0000:00:08.0 to 64
[   35.059218] ata3: SATA max UDMA/133 cmd 0x9E0 ctl 0xBE2 bmdma 0xC000 irq 233
[   35.059235] ata4: SATA max UDMA/133 cmd 0x960 ctl 0xB62 bmdma 0xC008 irq 233
[   35.259099] ata3: SATA link up 1.5 Gbps (SStatus 113)
[   35.413009] ata3: dev 0 cfg 49:2f00 82:7c6b 83:7f09 84:4063 85:7c69 86:3e01 
87:4063 88:407f
[   35.413013] ata3: dev 0 ATA-7, max UDMA/133, 398297088 sectors: LBA48
[   35.413958] nv_sata: Primary device added
[   35.413959] nv_sata: Primary device removed
[   35.413960] nv_sata: Secondary device added
[   35.413962] nv_sata: Secondary device removed
[   35.417002] ata3: dev 0 configured for UDMA/133
[   35.417004] scsi2 : sata_nv
[   35.617665] ata4: SATA link up 1.5 Gbps (SStatus 113)
[   35.771573] ata4: dev 0 cfg 49:2f00 82:7c6b 83:7f09 84:4063 85:7c69 86:3e01 
87:4063 88:407f
[   35.771576] ata4: dev 0 ATA-7, max UDMA/133, 398297088 sectors: LBA48
[   35.772504] nv_sata: Primary device added
[   35.772506] nv_sata: Primary device removed
[   35.772507] nv_sata: Secondary device added
[   35.772508] nv_sata: Secondary device removed
[   35.775567] ata4: dev 0 configured for UDMA/133
[   35.775569] scsi3 : sata_nv
[   35.775645]   Vendor: ATA       Model: Maxtor 6B200M0    Rev: BANC
[   35.775653]   Type:   Direct-Access                      ANSI SCSI revision: 
05
[   35.775726]   Vendor: ATA       Model: Maxtor 6B200M0    Rev: BANC
[   35.775733]   Type:   Direct-Access                      ANSI SCSI revision: 
05
[   35.775854] SCSI device sda: 488397168 512-byte hdwr sectors (250059 MB)
[   35.775862] sda: Write Protect is off
[   35.775864] sda: Mode Sense: 00 3a 00 00
[   35.775873] SCSI device sda: drive cache: write back
[   35.775906] SCSI device sda: 488397168 512-byte hdwr sectors (250059 MB)
[   35.775912] sda: Write Protect is off
[   35.775914] sda: Mode Sense: 00 3a 00 00
[   35.775922] SCSI device sda: drive cache: write back
[   35.775925]  sda: sda1 sda2 sda3
[   35.783514] sd 0:0:0:0: Attached scsi disk sda
[   35.783546] SCSI device sdb: 488397168 512-byte hdwr sectors (250059 MB)
[   35.783552] sdb: Write Protect is off
[   35.783554] sdb: Mode Sense: 00 3a 00 00
[   35.783562] SCSI device sdb: drive cache: write back
[   35.783584] SCSI device sdb: 488397168 512-byte hdwr sectors (250059 MB)
[   35.783590] sdb: Write Protect is off
[   35.783591] sdb: Mode Sense: 00 3a 00 00
[   35.783599] SCSI device sdb: drive cache: write back
[   35.783601]  sdb: sdb1 sdb2 sdb3
[   35.790763] sd 1:0:0:0: Attached scsi disk sdb
[   35.790796] SCSI device sdc: 398297088 512-byte hdwr sectors (203928 MB)
[   35.790801] sdc: Write Protect is off
[   35.790803] sdc: Mode Sense: 00 3a 00 00
[   35.790811] SCSI device sdc: drive cache: write back
[   35.790832] SCSI device sdc: 398297088 512-byte hdwr sectors (203928 MB)
[   35.790838] sdc: Write Protect is off
[   35.790839] sdc: Mode Sense: 00 3a 00 00
[   35.790847] SCSI device sdc: drive cache: write back
[   35.790849]  sdc: sdc1 sdc2
[   35.807188] sd 2:0:0:0: Attached scsi disk sdc
[   35.807220] SCSI device sdd: 398297088 512-byte hdwr sectors (203928 MB)
[   35.807225] sdd: Write Protect is off
[   35.807227] sdd: Mode Sense: 00 3a 00 00
[   35.807235] SCSI device sdd: drive cache: write back
[   35.807256] SCSI device sdd: 398297088 512-byte hdwr sectors (203928 MB)
[   35.807264] sdd: Write Protect is off
[   35.807266] sdd: Mode Sense: 00 3a 00 00
[   35.807275] SCSI device sdd: drive cache: write back
[   35.807276]  sdd: sdd1 sdd2
[   35.827578] sd 3:0:0:0: Attached scsi disk sdd
[   35.827607] sd 0:0:0:0: Attached scsi generic sg0 type 0
[   35.827628] sd 1:0:0:0: Attached scsi generic sg1 type 0
[   35.827648] sd 2:0:0:0: Attached scsi generic sg2 type 0
[   35.827669] sd 3:0:0:0: Attached scsi generic sg3 type 0
[   35.829355] serio: i8042 AUX port at 0x60,0x64 irq 12
[   35.829437] serio: i8042 KBD port at 0x60,0x64 irq 1
[   35.829469] mice: PS/2 mouse device common for all mice
[   35.829884] input: PC Speaker as /class/input/input0
[   36.376471] md: raid0 personality registered for level 0
[   36.376473] md: raid5 personality registered for level 5
[   36.376474] md: raid4 personality registered for level 4
[   36.376477] raid5: automatically using best checksumming function: 
generic_sse
[   36.381500]    generic_sse:  7408.000 MB/sec
[   36.381501] raid5: using function: generic_sse (7408.000 MB/sec)
[   36.381505] md: multipath personality registered for level -4
[   36.381507] md: md driver 0.90.3 MAX_MD_DEVS=256, MD_SB_DISKS=27
[   36.381509] md: bitmap version 4.39
[   36.381517] TCP bic registered
[   36.381527] NET: Registered protocol family 1
[   36.381531] NET: Registered protocol family 17
[   36.381583] ACPI wakeup devices: 
[   36.381584] HUB0 XVR0 XVR1 XVR2 XVR3 USB0 USB2 MMAC MMCI 
[   36.381589] ACPI: (supports S0 S1 S3 S4 S5)
[   36.381687] md: Autodetecting RAID arrays.
[   36.520597] md: autorun ...
[   36.520598] md: considering sdd2 ...
[   36.520604] md:  adding sdd2 ...
[   36.520606] md: sdd1 has different UUID to sdd2
[   36.520609] md:  adding sdc2 ...
[   36.520611] md: sdc1 has different UUID to sdd2
[   36.520614] md:  adding sdb3 ...
[   36.520616] md: sdb2 has different UUID to sdd2
[   36.520619] md:  adding sda3 ...
[   36.520621] md: sda2 has different UUID to sdd2
[   36.520647] md: created md1
[   36.520650] md: bind<sda3>
[   36.520657] md: bind<sdb3>
[   36.520662] md: bind<sdc2>
[   36.520667] md: bind<sdd2>
[   36.520675] md: running: <sdd2><sdc2><sdb3><sda3>
[   36.520716] raid5: device sdd2 operational as raid disk 2
[   36.520718] raid5: device sdc2 operational as raid disk 3
[   36.520720] raid5: device sdb3 operational as raid disk 1
[   36.520722] raid5: device sda3 operational as raid disk 0
[   36.520974] raid5: allocated 4264kB for md1
[   36.520976] raid5: raid level 5 set md1 active with 4 out of 4 devices, 
algorithm 2
[   36.520978] RAID5 conf printout:
[   36.520979]  --- rd:4 wd:4 fd:0
[   36.520981]  disk 0, o:1, dev:sda3
[   36.520982]  disk 1, o:1, dev:sdb3
[   36.520984]  disk 2, o:1, dev:sdd2
[   36.520985]  disk 3, o:1, dev:sdc2
[   36.521002] md: considering sdd1 ...
[   36.521008] md:  adding sdd1 ...
[   36.521011] md:  adding sdc1 ...
[   36.521014] md:  adding sdb2 ...
[   36.521017] md:  adding sda2 ...
[   36.521018] md: created md0
[   36.521019] md: bind<sda2>
[   36.521025] md: bind<sdb2>
[   36.521032] md: bind<sdc1>
[   36.521039] md: bind<sdd1>
[   36.521043] md: running: <sdd1><sdc1><sdb2><sda2>
[   36.521076] raid5: device sdd1 operational as raid disk 2
[   36.521078] raid5: device sdc1 operational as raid disk 3
[   36.521080] raid5: device sdb2 operational as raid disk 1
[   36.521082] raid5: device sda2 operational as raid disk 0
[   36.521335] raid5: allocated 4264kB for md0
[   36.521337] raid5: raid level 5 set md0 active with 4 out of 4 devices, 
algorithm 2
[   36.521339] RAID5 conf printout:
[   36.521340]  --- rd:4 wd:4 fd:0
[   36.521341]  disk 0, o:1, dev:sda2
[   36.521343]  disk 1, o:1, dev:sdb2
[   36.521344]  disk 2, o:1, dev:sdd1
[   36.521346]  disk 3, o:1, dev:sdc1
[   36.521358] md: ... autorun DONE.
[   36.542555] XFS mounting filesystem sda1
[   36.604562] Starting XFS recovery on filesystem: sda1 (logdev: internal)
[   36.892759] Ending XFS recovery on filesystem: sda1 (logdev: internal)
[   36.892824] VFS: Mounted root (xfs filesystem) readonly.
[   36.892913] Freeing unused kernel memory: 164k freed
[   37.685622] it87: Found IT8712F chip at 0x290, revision 7
[   37.827430] specify port
[   37.827433] snd_mpu401: probe of snd_mpu401.0 failed with error -22
[   37.908560] ACPI: PCI Interrupt Link [APC3] enabled at IRQ 18
[   37.908566] GSI 19 sharing vector 0x32 and IRQ 19
[   37.908570] ACPI: PCI Interrupt 0000:01:06.0[A] -> Link [APC3] -> GSI 18 
(level, low) -> IRQ 50
[   37.911071] Installing spdif_bug patch: Audigy 2 Platinum [SB0240P]
[   38.277343] usbcore: registered new driver usbfs
[   38.277363] usbcore: registered new driver hub
[   38.292612] ohci_hcd: 2005 April 22 USB 1.1 'Open' Host Controller (OHCI) 
Driver (PCI)
[   38.292977] ACPI: PCI Interrupt Link [APCF] enabled at IRQ 21
[   38.292981] GSI 20 sharing vector 0x3A and IRQ 20
[   38.292985] ACPI: PCI Interrupt 0000:00:02.0[A] -> Link [APCF] -> GSI 21 
(level, low) -> IRQ 58
[   38.293099] PCI: Setting latency timer of device 0000:00:02.0 to 64
[   38.293104] ohci_hcd 0000:00:02.0: OHCI Host Controller
[   38.293195] ohci_hcd 0000:00:02.0: new USB bus registered, assigned bus 
number 1
[   38.293209] ohci_hcd 0000:00:02.0: irq 58, io mem 0xfe02f000
[   38.346426] usb usb1: configuration #1 chosen from 1 choice
[   38.346444] hub 1-0:1.0: USB hub found
[   38.346451] hub 1-0:1.0: 10 ports detected
[   38.356446] forcedeth.c: Reverse Engineered nForce ethernet driver. Version 
0.54.
[   38.447453] ACPI: PCI Interrupt 0000:01:06.2[B] -> Link [APC4] -> GSI 19 
(level, low) -> IRQ 177
[   38.497539] ohci1394: fw-host0: OHCI-1394 1.1 (PCI): IRQ=[177]  
MMIO=[dffff000-dffff7ff]  Max Packet=[2048]  IR/IT contexts=[4/8]
[   38.497821] ACPI: PCI Interrupt Link [APC2] enabled at IRQ 17
[   38.497825] GSI 21 sharing vector 0x42 and IRQ 21
[   38.497828] ACPI: PCI Interrupt 0000:01:09.0[A] -> Link [APC2] -> GSI 17 
(level, low) -> IRQ 66
[   38.550889] ohci1394: fw-host1: OHCI-1394 1.1 (PCI): IRQ=[66]  
MMIO=[dfffc000-dfffc7ff]  Max Packet=[2048]  IR/IT contexts=[4/8]
[   38.555959] ACPI: PCI Interrupt 0000:01:0a.0[A] -> Link [APC3] -> GSI 18 
(level, low) -> IRQ 50
[   38.556154] skge 1.5 addr 0xdfff4000 irq 50 chip Yukon-Lite rev 9
[   38.556249] skge eth0: addr 00:01:29:d3:03:3b
[   38.556691] ACPI: PCI Interrupt Link [APCJ] enabled at IRQ 20
[   38.556695] GSI 22 sharing vector 0x4A and IRQ 22
[   38.556699] ACPI: PCI Interrupt 0000:00:04.0[A] -> Link [APCJ] -> GSI 20 
(level, low) -> IRQ 74
[   38.556816] PCI: Setting latency timer of device 0000:00:04.0 to 64
[   38.663961] usb 1-1: new low speed USB device using ohci_hcd and address 2
[   38.812818] usb 1-1: configuration #1 chosen from 1 choice
[   38.868726] intel8x0_measure_ac97_clock: measured 50620 usecs
[   38.868728] intel8x0: clocking to 46876
[   39.032528] usb 1-2: new full speed USB device using ohci_hcd and address 3
[   39.179387] usb 1-2: configuration #1 chosen from 1 choice
[   39.182401] hub 1-2:1.0: USB hub found
[   39.185377] hub 1-2:1.0: 4 ports detected
[   39.520940] usb 1-3: new low speed USB device using ohci_hcd and address 4
[   39.674803] usb 1-3: configuration #1 chosen from 1 choice
[   39.678240] ACPI: PCI Interrupt Link [APCH] enabled at IRQ 23
[   39.678243] ACPI: PCI Interrupt 0000:00:0a.0[A] -> Link [APCH] -> GSI 23 
(level, low) -> IRQ 225
[   39.678248] PCI: Setting latency timer of device 0000:00:0a.0 to 64
[   39.678255] forcedeth: using HIGHDMA
[   39.686855] input: Logitech USB-PS/2 Optical Mouse as /class/input/input1
[   39.686879] input: USB HID v1.10 Mouse [Logitech USB-PS/2 Optical Mouse] on 
usb-0000:00:02.0-1
[   39.695819] input: Logitech Logitech USB Keyboard as /class/input/input2
[   39.695834] input: USB HID v1.10 Keyboard [Logitech Logitech USB Keyboard] 
on usb-0000:00:02.0-3
[   39.712820] input: Logitech Logitech USB Keyboard as /class/input/input3
[   39.712853] input: USB HID v1.10 Mouse [Logitech Logitech USB Keyboard] on 
usb-0000:00:02.0-3
[   39.712862] usbcore: registered new driver usbhid
[   39.712864] drivers/usb/input/hid-core.c: v2.6:USB HID core driver
[   39.751768] ieee1394: Host added: ID:BUS[0-00:1023]  GUID[00023c0091023fd7]
[   40.007460] ieee1394: Host added: ID:BUS[1-00:1023]  GUID[000129200003d023]
[   40.190547] eth0: forcedeth.c: subsystem: 010de:cb84 bound to 0000:00:0a.0
[   40.190783] ACPI: PCI Interrupt 0000:01:07.0[A] -> Link [APC4] -> GSI 19 
(level, low) -> IRQ 177
[   40.190794] Yenta: CardBus bridge found at 0000:01:07.0 [0000:0000]
[   40.191214] ACPI: PCI Interrupt Link [APCL] enabled at IRQ 22
[   40.191216] ACPI: PCI Interrupt 0000:00:02.1[B] -> Link [APCL] -> GSI 22 
(level, low) -> IRQ 233
[   40.191321] PCI: Setting latency timer of device 0000:00:02.1 to 64
[   40.191326] ehci_hcd 0000:00:02.1: EHCI Host Controller
[   40.191369] ehci_hcd 0000:00:02.1: new USB bus registered, assigned bus 
number 2
[   40.191393] ehci_hcd 0000:00:02.1: debug port 1
[   40.191396] PCI: cache line size of 64 is not supported by device 
0000:00:02.1
[   40.191402] ehci_hcd 0000:00:02.1: irq 233, io mem 0xfeb00000
[   40.191407] ehci_hcd 0000:00:02.1: USB 2.0 started, EHCI 1.00, driver 10 Dec 
2004
[   40.191460] usb usb2: configuration #1 chosen from 1 choice
[   40.191476] hub 2-0:1.0: USB hub found
[   40.191481] hub 2-0:1.0: 10 ports detected
[   40.195141] usb 1-1: USB disconnect, address 2
[   40.298997] usb 1-2: USB disconnect, address 3
[   40.313707] Yenta: ISA IRQ mask 0x0000, PCI irq 177
[   40.313711] Socket status: 30000006
[   40.313714] pcmcia: parent PCI bridge I/O window: 0xa000 - 0xafff
[   40.313716] pcmcia: parent PCI bridge Memory window: 0xd8000000 - 0xdfffffff
[   40.313719] pcmcia: parent PCI bridge Memory window: 0xfdf00000 - 0xfdffffff
[   40.403876] usb 1-3: USB disconnect, address 4
[   40.870303] usb 2-2: new high speed USB device using ehci_hcd and address 3
[   40.985982] usb 2-2: configuration #1 chosen from 1 choice
[   40.986121] hub 2-2:1.0: USB hub found
[   40.986230] hub 2-2:1.0: 4 ports detected
[   41.459590] usb 1-1: new low speed USB device using ohci_hcd and address 5
[   41.608521] usb 1-1: configuration #1 chosen from 1 choice
[   41.622538] input: Logitech USB-PS/2 Optical Mouse as /class/input/input4
[   41.622560] input: USB HID v1.10 Mouse [Logitech USB-PS/2 Optical Mouse] on 
usb-0000:00:02.0-1
[   41.840131] usb 1-3: new low speed USB device using ohci_hcd and address 6
[   41.995063] usb 1-3: configuration #1 chosen from 1 choice
[   42.009093] input: Logitech Logitech USB Keyboard as /class/input/input5
[   42.009110] input: USB HID v1.10 Keyboard [Logitech Logitech USB Keyboard] 
on usb-0000:00:02.0-3
[   42.026094] input: Logitech Logitech USB Keyboard as /class/input/input6
[   42.026121] input: USB HID v1.10 Mouse [Logitech Logitech USB Keyboard] on 
usb-0000:00:02.0-3
[   54.307574] XFS mounting filesystem sdb1
[   54.376781] Ending clean XFS mount for filesystem: sdb1
[   54.389349] Filesystem "md1": Disabling barriers, not supported by the 
underlying device
[   54.394557] XFS mounting filesystem md1
[   54.579132] Ending clean XFS mount for filesystem: md1
[   54.629867] Filesystem "md0": Disabling barriers, not supported by the 
underlying device
[   54.643954] XFS mounting filesystem md0
[   54.824192] Ending clean XFS mount for filesystem: md0
[   55.143085] Adding 524280k swap on /var/cache/swapfile.  Priority:1 
extents:2 across:524324k

[alistair] 21:28 [~] cat /proc/interrupts
           CPU0       CPU1
  0:    9008755          0    IO-APIC-edge  timer
  8:          0          0    IO-APIC-edge  rtc
  9:          0          0   IO-APIC-level  acpi
 15:     208053          0    IO-APIC-edge  ide1
 50:     665598          0   IO-APIC-level  EMU10K1, skge, nvidia
 58:    1337725          0   IO-APIC-level  lan
 66:         28          0   IO-APIC-level  ehci_hcd:usb1
 74:          3          0   IO-APIC-level  ohci1394
177:          3          0   IO-APIC-level  yenta, ohci1394
225:     104405          0   IO-APIC-level  libata, ohci_hcd:usb2
233:        452          0   IO-APIC-level  libata, NVidia CK804
NMI:        480        434
LOC:    9007565    9007513
ERR:          0
MIS:          0

[alistair] 21:29 [~] ifconfig -v lan
lan       Link encap:Ethernet  HWaddr 00:01:29:D3:03:84
          inet addr:192.168.0.10  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:274462 errors:0 dropped:0 overruns:0 frame:0
          TX packets:160726 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:387508834 (369.5 Mb)  TX bytes:12307836 (11.7 Mb)
          Interrupt:58 Base address:0xc000

Problem Description:

forcedeth oopses on shutdown, due to a bug in commit 
ebf34c9b6fcd22338ef764b039b3ac55ed0e297b, titled "forcedeth: fix multi irq 
issues"

Steps to reproduce:

Ping the machine constantly, ssh into it, shut it down over ssh. Box oopses 
reliably. Doesn't occur with 2.6.16-rc3, reverting the named diff fixes it on 
2.6.16-rc4.
Comment 1 Andrew Morton 2006-05-18 15:06:39 UTC
Are you able to send a copy of the oops trace?
Comment 2 Anonymous Emailer 2006-05-18 15:25:50 UTC
Reply-To: s0348365@sms.ed.ac.uk

On Thursday 18 May 2006 23:08, bugme-daemon@bugzilla.kernel.org wrote:
> http://bugzilla.kernel.org/show_bug.cgi?id=6568
>
> akpm@osdl.org changed:
>
>            What    |Removed                     |Added
> ---------------------------------------------------------------------------
>- CC|                            |akpm@osdl.org
>
>
>
> ------- Additional Comments From akpm@osdl.org  2006-05-18 15:06 -------
> Are you able to send a copy of the oops trace?
>
> ------- You are receiving this mail because: -------
> You reported the bug, or are watching the reporter.

No serial console. Camera phone shots available from 
http://devzero.co.uk/~alistair/oops-20060512/

Comment 3 Andrew Morton 2006-05-19 02:11:23 UTC
We haven't heard from Ayaz yet?

I'm dithering over whether to revert this for 2.6.17.  If the
crash only occurs a) during heavy traffic and b) during machine
shutdown then I guess we can live with it.

We need to decide whether this problem is worse than the problem which the
buggy patch fixed.

Problem is the changelog for that patch is so wholly lame that I am unable
to determine that.

Comment 4 Alistair Strachan 2006-05-19 06:21:20 UTC
It's my opinion that it should be reverted. It's too late in the day to be 
letting crash bugs through.

It's also going to affect a lot of people; forcedeth is an end-user, desktop 
chipset. These people (myself included) actually switch off their machines at 
night.

However, according to private mail from Ayaz, I got the feeling that it might 
be limited to SMP...
Comment 5 Ayaz Abdulla 2006-05-20 00:31:27 UTC
We have tried to repro here and are having no such luck. I will continue to 
root cause it.

However, this fix is suppose to fix other crashes, so I don't think it should 
be reverted but rather root caused and fixed.

Alistair, can I give you patches to try out since I can not repro?
Comment 6 Alistair Strachan 2006-05-20 00:46:24 UTC
Just post them and I'll try them. We can't take one step forwards, two back, 
for 2.6.17.
Comment 7 Alistair Strachan 2006-05-20 01:18:43 UTC
For what it's worth, if I revert the spin_lock -> spin_lock_irq changes 
(randomly scattered in this file, are they actually correct?) the problem 
disappears.

This might just be coincidental, but it did seem like a fairly arbitrarily 
change, inconsistent with similar functions in this file..

Ideas?
Comment 8 Manfred Spraul 2006-05-20 01:35:11 UTC
bugme-daemon@bugzilla.kernel.org wrote:

>For what it's worth, if I revert the spin_lock -> spin_lock_irq changes 
>(randomly scattered in this file, are they actually correct?) the problem 
>disappears.
>
>This might just be coincidental, but it did seem like a fairly arbitrarily 
>change, inconsistent with similar functions in this file..
>
>Ideas?
>
>  
>
SMP or UP system?

Background of the change: With MSI-X, the driver uses three independant 
interrupts: One for tx, one for rx, one for the remaining irq sources.
Previously, there was only one interrupt - thus spin_lock() was 
sufficient for functions that are only called from within the interrupt 
handler. With three interrupts, this is now wrong, thus the spin_lock() 
calls were replaced by spin_lock_irq().

--
    Manfred

Comment 9 Alistair Strachan 2006-05-20 01:41:26 UTC
This is an SMP machine, as indicated in the original bug report and my dmesg. 
It also, for whatever reason, does not use MSI/MSI-X interrupts even though 
dmesg indicates that certain devices are capable of it and I have 
CONFIG_PCI_MSI set (x86-64 kernel).
Comment 10 Andrew Morton 2006-05-20 01:45:01 UTC
bugme-daemon@bugzilla.kernel.org wrote:
>
> thus the spin_lock() 
>  calls were replaced by spin_lock_irq().

In that case I'd be looking for a spin_unlock_irq() occurring when
interrupts are already disabled.

So if the code originally did this:


	local_irq_disable();

	...
	spin_lock();
	..
	spin_unlock();

	...
	local_irq_enable();


and we went and changed it to this:

	local_irq_disable();

	...
	spin_lock_irq();
	..
	spin_unlock_irq();

	...
	local_irq_enable();


then we've added a bug, by enabling interrupts too early.


I bet changing all those spin_lock_irq()s to spin_lock_irqsave() and
spin_unlcok_irqrestore() will fix it.

Comment 11 Manfred Spraul 2006-05-20 02:44:32 UTC
bugme-daemon@bugzilla.kernel.org wrote:

>In that case I'd be looking for a spin_unlock_irq() occurring when
>interrupts are already disabled.
>
>  
>
I'm checking that right now:
I added BUG_ON(irqs_disable()) in front of every spin_lock_irq(). No 
hits so far (ifup/ifdown, simple network traffic).

--
    Manfred

Comment 12 Alistair Strachan 2006-05-20 03:26:52 UTC
Manfred, if we think this is the problem and you can't reproduce it, please 
send me a diff with your changes and I'll try it here.
Comment 13 Manfred Spraul 2006-05-20 04:22:14 UTC
Attached is the patch.

I'm not sure if this is the problem, it could be a true race, and the 
_irq just causes a sufficient timing change.
On my own system, I'm now running into problems, too: slab debugging is 
enabled, and I get crashes in nv_nic_irq(): struct net_device was 
already freed, that causes a crash when accessing the io section of the 
device (i.e. dev->base is 0x5a5a5a5a. Or was it 0x6b6b6b6b?)

--
    MAnfred
--- 2.6/drivers/net/forcedeth.c	2006-05-20 11:49:37.000000000 +0200
+++ build-2.6/drivers/net/forcedeth.c	2006-05-20 13:20:01.000000000 +0200
@@ -1095,6 +1095,7 @@
 		disable_irq(np->msi_x_entry[NV_MSI_X_VECTOR_RX].vector);
 	}
 	if (nv_alloc_rx(dev)) {
+		WARN_ON(irqs_disabled());
 		spin_lock_irq(&np->lock);
 		if (!np->in_shutdown)
 			mod_timer(&np->oom_kick, jiffies + OOM_REFILL);
@@ -1236,6 +1237,7 @@
 			   ((skb_shinfo(skb)->frags[i].size & (NV_TX2_TSO_MAX_SIZE-1)) ? 1 : 0);
 	}
 
+	WARN_ON(irqs_disabled());
 	spin_lock_irq(&np->lock);
 
 	if ((np->next_tx - np->nic_tx + entries - 1) > TX_LIMIT_STOP) {
@@ -1469,6 +1471,7 @@
 		}
 	}
 
+	WARN_ON(irqs_disabled());
 	spin_lock_irq(&np->lock);
 
 	/* 1) stop tx engine */
@@ -1804,6 +1807,7 @@
 
 	if (netif_running(dev)) {
 		spin_lock_bh(&dev->xmit_lock);
+		WARN_ON(irqs_disabled());
 		spin_lock_irq(&np->lock);
 
 		/* stop rx engine */
@@ -1873,6 +1877,7 @@
 	}
 	addr[0] |= NVREG_MCASTADDRA_FORCE;
 	pff |= NVREG_PFF_ALWAYS;
+	WARN_ON(irqs_disabled());
 	spin_lock_irq(&np->lock);
 	nv_stop_rx(dev);
 	writel(addr[0], base + NvRegMulticastAddrA);
@@ -2160,6 +2165,7 @@
 		if (!(events & np->irqmask))
 			break;
 
+		WARN_ON(irqs_disabled());
 		spin_lock_irq(&np->lock);
 		nv_tx_done(dev);
 		spin_unlock_irq(&np->lock);
@@ -2169,6 +2175,7 @@
 						dev->name, events);
 		}
 		if (i > max_interrupt_work) {
+			WARN_ON(irqs_disabled());
 			spin_lock_irq(&np->lock);
 			/* disable interrupts on the nic */
 			writel(NVREG_IRQ_TX_ALL, base + NvRegIrqMask);
@@ -2209,6 +2216,7 @@
 		
 		nv_rx_process(dev);
 		if (nv_alloc_rx(dev)) {
+			WARN_ON(irqs_disabled());
 			spin_lock_irq(&np->lock);
 			if (!np->in_shutdown)
 				mod_timer(&np->oom_kick, jiffies + OOM_REFILL);
@@ -2216,6 +2224,7 @@
 		}
 		
 		if (i > max_interrupt_work) {
+			WARN_ON(irqs_disabled());
 			spin_lock_irq(&np->lock);
 			/* disable interrupts on the nic */
 			writel(NVREG_IRQ_RX_ALL, base + NvRegIrqMask);
@@ -2255,11 +2264,13 @@
 			break;
 		
 		if (events & NVREG_IRQ_LINK) {
+			WARN_ON(irqs_disabled());
 			spin_lock_irq(&np->lock);
 			nv_link_irq(dev);
 			spin_unlock_irq(&np->lock);
 		}
 		if (np->need_linktimer && time_after(jiffies, np->link_timeout)) {
+			WARN_ON(irqs_disabled());
 			spin_lock_irq(&np->lock);
 			nv_linkchange(dev);
 			spin_unlock_irq(&np->lock);
@@ -2270,6 +2281,7 @@
 						dev->name, events);
 		}
 		if (i > max_interrupt_work) {
+			WARN_ON(irqs_disabled());
 			spin_lock_irq(&np->lock);
 			/* disable interrupts on the nic */
 			writel(NVREG_IRQ_OTHER, base + NvRegIrqMask);
@@ -2372,6 +2384,7 @@
 	struct fe_priv *np = netdev_priv(dev);
 	wolinfo->supported = WAKE_MAGIC;
 
+	WARN_ON(irqs_disabled());
 	spin_lock_irq(&np->lock);
 	if (np->wolenabled)
 		wolinfo->wolopts = WAKE_MAGIC;
@@ -2383,6 +2396,7 @@
 	struct fe_priv *np = netdev_priv(dev);
 	u8 __iomem *base = get_hwbase(dev);
 
+	WARN_ON(irqs_disabled());
 	spin_lock_irq(&np->lock);
 	if (wolinfo->wolopts == 0) {
 		writel(0, base + NvRegWakeUpFlags);
@@ -2401,6 +2415,7 @@
 	struct fe_priv *np = netdev_priv(dev);
 	int adv;
 
+	WARN_ON(irqs_disabled());
 	spin_lock_irq(&np->lock);
 	ecmd->port = PORT_MII;
 	if (!netif_running(dev)) {
@@ -2497,6 +2512,7 @@
 		return -EINVAL;
 	}
 
+	WARN_ON(irqs_disabled());
 	spin_lock_irq(&np->lock);
 	if (ecmd->autoneg == AUTONEG_ENABLE) {
 		int adv, bmcr;
@@ -2587,6 +2603,7 @@
 	int i;
 
 	regs->version = FORCEDETH_REGS_VER;
+	WARN_ON(irqs_disabled());
 	spin_lock_irq(&np->lock);
 	for (i = 0;i <= np->register_size/sizeof(u32); i++)
 		rbuf[i] = readl(base + i*sizeof(u32));
@@ -2598,6 +2615,7 @@
 	struct fe_priv *np = netdev_priv(dev);
 	int ret;
 
+	WARN_ON(irqs_disabled());
 	spin_lock_irq(&np->lock);
 	if (np->autoneg) {
 		int bmcr;
@@ -2632,6 +2650,7 @@
 {
 	struct fe_priv *np = get_nvpriv(dev);
 
+	WARN_ON(irqs_disabled());
 	spin_lock_irq(&np->lock);
 
 	/* save vlan group */
@@ -2966,6 +2985,7 @@
 	/* ask for interrupts */
 	nv_enable_hw_interrupts(dev, np->irqmask);
 
+	WARN_ON(irqs_disabled());
 	spin_lock_irq(&np->lock);
 	writel(NVREG_MCASTADDRA_FORCE, base + NvRegMulticastAddrA);
 	writel(0, base + NvRegMulticastAddrB);
@@ -3009,6 +3029,7 @@
 	struct fe_priv *np = netdev_priv(dev);
 	u8 __iomem *base;
 
+	WARN_ON(irqs_disabled());
 	spin_lock_irq(&np->lock);
 	np->in_shutdown = 1;
 	spin_unlock_irq(&np->lock);
@@ -3018,6 +3039,7 @@
 	del_timer_sync(&np->nic_poll);
 
 	netif_stop_queue(dev);
+	WARN_ON(irqs_disabled());
 	spin_lock_irq(&np->lock);
 	nv_stop_tx(dev);
 	nv_stop_rx(dev);
@@ -3292,11 +3314,13 @@
 		int id1, id2;
 		int phyaddr = i & 0x1F;
 
+		WARN_ON(irqs_disabled());
 		spin_lock_irq(&np->lock);
 		id1 = mii_rw(dev, phyaddr, MII_PHYSID1, MII_READ);
 		spin_unlock_irq(&np->lock);
 		if (id1 < 0 || id1 == 0xffff)
 			continue;
+		WARN_ON(irqs_disabled());
 		spin_lock_irq(&np->lock);
 		id2 = mii_rw(dev, phyaddr, MII_PHYSID2, MII_READ);
 		spin_unlock_irq(&np->lock);
Comment 14 Alistair Strachan 2006-05-20 05:23:04 UTC
I believe it is a race. With your patch applied, I no longer see the oops, so I
can only assume it affects the timing in some subtle way.

The change in -rc3 might not be the root cause; it could be exposing some bug
we've been papering over for a long time. Unfortunately it's doing it very
reliably on my machine. ;-(
Comment 15 Alistair Strachan 2006-05-20 05:36:37 UTC
Spoke too soon. I still see it, but less often. Now I have to load/unload the
module a couple times to get it to happen. Shutting down isn't enough any more.
Comment 16 Manfred Spraul 2006-05-20 05:58:33 UTC
bugme-daemon@bugzilla.kernel.org wrote:

>http://bugzilla.kernel.org/show_bug.cgi?id=6568
>
>
>
>
>
>------- Additional Comments From alistair@devzero.co.uk  2006-05-20 05:23 -------
>I believe it is a race. With your patch applied, I no longer see the oops, so I
>can only assume it affects the timing in some subtle way.
>
>The change in -rc3 might not be the root cause; it could be exposing some bug
>we've been papering over for a long time. Unfortunately it's doing it very
>reliably on my machine. ;-(
>
>  
>
I have found it, category extra stupid:
The patch moves code from nv_open() into a new nv_request_irq() 
function. But the code also remains within nv_open().
Thus request_irq() is called twice. During nv_close(), only one instance 
is freed - thus one irq handler remains active, even if the driver is 
unloaded. If something causes an irq, then it crashes.

Could you try the attached patch? It's untested - I'm rebooting now.

--
    Manfred
--- 2.6/drivers/net/forcedeth.c	2006-05-20 11:49:37.000000000 +0200
+++ build-2.6/drivers/net/forcedeth.c	2006-05-20 14:58:15.000000000 +0200
@@ -2891,78 +2891,6 @@
 		goto out_drain;
 	}
 
-	if (np->msi_flags & NV_MSI_X_CAPABLE) {
-		for (i = 0; i < (np->msi_flags & NV_MSI_X_VECTORS_MASK); i++) {
-			np->msi_x_entry[i].entry = i;
-		}
-		if ((ret = pci_enable_msix(np->pci_dev, np->msi_x_entry, (np->msi_flags & NV_MSI_X_VECTORS_MASK))) == 0) {
-			np->msi_flags |= NV_MSI_X_ENABLED;
-			if (optimization_mode == NV_OPTIMIZATION_MODE_THROUGHPUT) {
-				/* Request irq for rx handling */
-				if (request_irq(np->msi_x_entry[NV_MSI_X_VECTOR_RX].vector, &nv_nic_irq_rx, SA_SHIRQ, dev->name, dev) != 0) {
-					printk(KERN_INFO "forcedeth: request_irq failed for rx %d\n", ret);
-					pci_disable_msix(np->pci_dev);
-					np->msi_flags &= ~NV_MSI_X_ENABLED;
-					goto out_drain;
-				}
-				/* Request irq for tx handling */
-				if (request_irq(np->msi_x_entry[NV_MSI_X_VECTOR_TX].vector, &nv_nic_irq_tx, SA_SHIRQ, dev->name, dev) != 0) {
-					printk(KERN_INFO "forcedeth: request_irq failed for tx %d\n", ret);
-					pci_disable_msix(np->pci_dev);
-					np->msi_flags &= ~NV_MSI_X_ENABLED;
-					goto out_drain;
-				}
-				/* Request irq for link and timer handling */
-				if (request_irq(np->msi_x_entry[NV_MSI_X_VECTOR_OTHER].vector, &nv_nic_irq_other, SA_SHIRQ, dev->name, dev) != 0) {
-					printk(KERN_INFO "forcedeth: request_irq failed for link %d\n", ret);
-					pci_disable_msix(np->pci_dev);
-					np->msi_flags &= ~NV_MSI_X_ENABLED;
-					goto out_drain;
-				}
-
-				/* map interrupts to their respective vector */
-				writel(0, base + NvRegMSIXMap0);
-				writel(0, base + NvRegMSIXMap1);
-				set_msix_vector_map(dev, NV_MSI_X_VECTOR_RX, NVREG_IRQ_RX_ALL);
-				set_msix_vector_map(dev, NV_MSI_X_VECTOR_TX, NVREG_IRQ_TX_ALL);
-				set_msix_vector_map(dev, NV_MSI_X_VECTOR_OTHER, NVREG_IRQ_OTHER);
-			} else {
-				/* Request irq for all interrupts */
-				if (request_irq(np->msi_x_entry[NV_MSI_X_VECTOR_ALL].vector, &nv_nic_irq, SA_SHIRQ, dev->name, dev) != 0) {
-					printk(KERN_INFO "forcedeth: request_irq failed %d\n", ret);
-					pci_disable_msix(np->pci_dev);
-					np->msi_flags &= ~NV_MSI_X_ENABLED;
-					goto out_drain;
-				}
-
-				/* map interrupts to vector 0 */
-				writel(0, base + NvRegMSIXMap0);
-				writel(0, base + NvRegMSIXMap1);
-			}
-		}
-	}
-	if (ret != 0 && np->msi_flags & NV_MSI_CAPABLE) {
-		if ((ret = pci_enable_msi(np->pci_dev)) == 0) {
-			np->msi_flags |= NV_MSI_ENABLED;
-			if (request_irq(np->pci_dev->irq, &nv_nic_irq, SA_SHIRQ, dev->name, dev) != 0) {
-				printk(KERN_INFO "forcedeth: request_irq failed %d\n", ret);
-				pci_disable_msi(np->pci_dev);
-				np->msi_flags &= ~NV_MSI_ENABLED;
-				goto out_drain;
-			}
-
-			/* map interrupts to vector 0 */
-			writel(0, base + NvRegMSIMap0);
-			writel(0, base + NvRegMSIMap1);
-			/* enable msi vector 0 */
-			writel(NVREG_MSI_VECTOR_0_ENABLED, base + NvRegMSIIrqMask);
-		}
-	}
-	if (ret != 0) {
-		if (request_irq(np->pci_dev->irq, &nv_nic_irq, SA_SHIRQ, dev->name, dev) != 0)
-			goto out_drain;
-	}
-
 	/* ask for interrupts */
 	nv_enable_hw_interrupts(dev, np->irqmask);
 
Comment 17 Alistair Strachan 2006-05-20 06:11:07 UTC
Argh, I was looking for a nesting bug like this and could not find it from the
changediff, but yes in context I see the problem!

I've just rebooted the machine twice (successfully) with the patch; somebody
should probably block Jeff's revert that just hit LKML.

May I suggest better descriptions in future, so words like "refactor" make us
think about why code isn't being deleted.
Comment 18 Ayaz Abdulla 2006-05-20 12:17:01 UTC
Good catch Manfred! Thanks Alistair for your help.

On a side note, I am trying to grasp why an interrupt would happen after 
nv_close and cause the "unfree'd" irq line to get called. We disable hardware 
interrupts so there is no reason for it to get called.

Also, what I was originally thinking was the following happening in nv_close:

netif_stop_queue(dev);
spin_lock_irq(&np->lock); // This will not prevent interrupt on 2nd CPU
nv_stop_tx(dev);
nv_stop_rx(dev);
nv_txrx_reset(dev); // We clear out the rings (thereby making all entries host 
owned). If interrupt comes right now, then ISR handler could think it needs to 
complete ring entries that are not owned by hardware and touch skbuff[] array 
with NULL pointer.

/* disable interrupts on the nic or we will lock up */
base = get_hwbase(dev);
nv_disable_hw_interrupts(dev, np->irqmask);
pci_push(base);
dprintk(KERN_INFO "%s: Irqmask is zero again\n", dev->name);

spin_unlock_irq(&np->lock);

nv_free_irq(dev);
...


Instead we should do the following to be safe:
netif_stop_queue(dev);
nv_disable_hw_interrupts(dev, np->irqmask);
pci_push(base);
nv_disable_irq(dev);
nv_stop_tx(dev);
nv_stop_rx(dev);
nv_txrx_reset(dev); 
nv_free_irq(dev);
....

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