public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* 2.6.13.1 locks machine after some time, 2.6.12.5 work fine
@ 2005-09-12 23:59 Norbert Kiesel
  2005-09-13  3:00 ` Linus Torvalds
  0 siblings, 1 reply; 18+ messages in thread
From: Norbert Kiesel @ 2005-09-12 23:59 UTC (permalink / raw)
  To: linux-kernel

[-- Attachment #1: Type: text/plain, Size: 20961 bytes --]

Hi,

I had reported the same problem some time back for 2.6.13 and now tried
2.6.13.1, but the problem persists.  After some time (about 1 hour or
so) the machine just locks hard - screen, keyboard, network.  I noticed
that the hard disk light is on permanently in that stage.  It always
locks up during disk operation (this time which installing some new
Debian packages).  The (currently one and only) disk is hanging off the
0000:00:07.1 VIA IDE controller, the built-in RAID controller is unused.

2.6.12.5 was running stable for a very long time (upgraded when it came
out and never rebooted until 2.6.13 was released).  I'm now back to
2.6.12.5 and the machine works fine again, so I doubt it's a hardware
failure.

There is nothing in syslog, and I can't switch to console or do
Alt-SysRq, so I'm at loss how to investigate this further. 

Best,
  Norbert


I append the lspci -vvv from both 2.6.12.5 and 2.6.13.1  The diff
between these two is:

--- 2.6.12.5/lspci      2005-09-12 14:17:56.000000000 -0700
+++ 2.6.13.1/lspci      2005-09-12 14:12:17.000000000 -0700
@@ -89,6 +89,7 @@
        Interrupt: pin A routed to IRQ 10
        Region 0: I/O ports at b000 [size=128]
        Region 1: Memory at e7000000 (32-bit, non-prefetchable)
[size=128]
+       Expansion ROM at 40080000 [disabled] [size=128K]
        Capabilities: [dc] Power Management version 1
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1
+,D2+,D3hot+,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-
@@ -115,6 +116,7 @@
        Region 2: I/O ports at c000 [size=8]
        Region 3: I/O ports at c400 [size=4]
        Region 4: I/O ports at c800 [size=16]
+       Expansion ROM at 40000000 [disabled] [size=512K]
        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=3 PME-
@@ -128,6 +130,7 @@
        Region 0: Memory at d0000000 (32-bit, prefetchable) [size=128M]
        Region 1: I/O ports at 9000 [size=256]
        Region 2: Memory at e5000000 (32-bit, non-prefetchable)
[size=64K]
+       Expansion ROM at e4000000 [disabled] [size=128K]
        Capabilities: [58] AGP version 2.0
                Status: RQ=80 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64-
HTrans- 64bit- FW+ AGP3- Rate=x1,x2,x4
                Command: RQ=1 ArqSz=0 Cal=0 SBA+ AGP- GART64- 64bit- FW-
Rate=<none>


===============
lspci -vvv from 2.6.12.5:
===============

0000:00:00.0 Host bridge: VIA Technologies, Inc. VT8363/8365
[KT133/KM133] (rev 02)
	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: 0
	Region 0: Memory at e0000000 (32-bit, prefetchable) [size=64M]
	Capabilities: [a0] AGP version 2.0
		Status: RQ=32 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64- HTrans- 64bit-
FW- AGP3- Rate=x1,x2,x4
		Command: RQ=1 ArqSz=0 Cal=0 SBA- AGP- GART64- 64bit- FW- Rate=<none>
	Capabilities: [c0] 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-

0000:00:01.0 PCI bridge: VIA Technologies, Inc. VT8363/8365 [KT133/KM133
AGP] (prog-if 00 [Normal decode])
	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: 0
	Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
	I/O behind bridge: 00009000-00009fff
	Memory behind bridge: e4000000-e5ffffff
	Prefetchable memory behind bridge: d0000000-dfffffff
	BridgeCtl: Parity- SERR- NoISA+ VGA+ MAbort- >Reset- FastB2B-
	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-

0000:00:07.0 ISA bridge: VIA Technologies, Inc. VT82C686 [Apollo Super
South] (rev 22)
	Subsystem: VIA Technologies, Inc. VT82C686/A PCI to ISA Bridge
	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: 0

0000:00:07.1 IDE interface: VIA Technologies, Inc.
VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 10)
(prog-if 8a [Master SecP PriP])
	Subsystem: VIA Technologies, Inc.
VT82C586/B/VT82C686/A/B/VT8233/A/C/VT8235 PIPC Bus Master IDE
	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 4: I/O ports at a000 [size=16]
	Capabilities: [c0] 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-

0000:00:07.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB
1.1 Controller (rev 10) (prog-if 00 [UHCI])
	Subsystem: VIA Technologies, Inc. (Wrong ID) USB Controller
	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, Cache Line Size: 0x08 (32 bytes)
	Interrupt: pin D routed to IRQ 12
	Region 4: I/O ports at a400 [size=32]
	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-

0000:00:07.3 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB
1.1 Controller (rev 10) (prog-if 00 [UHCI])
	Subsystem: VIA Technologies, Inc. (Wrong ID) USB Controller
	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, Cache Line Size: 0x08 (32 bytes)
	Interrupt: pin D routed to IRQ 12
	Region 4: I/O ports at a800 [size=32]
	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-

0000:00:07.4 Bridge: VIA Technologies, Inc. VT82C686 [Apollo Super ACPI]
(rev 30)
	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-
	Interrupt: pin ? routed to IRQ 9
	Capabilities: [68] 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-

0000:00:0a.0 Ethernet controller: Accton Technology Corporation
SMC2-1211TX (rev 10)
	Subsystem: Accton Technology Corporation EN-1207D Fast Ethernet Adapter
	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 min, 16000ns max)
	Interrupt: pin A routed to IRQ 11
	Region 0: I/O ports at ac00 [size=256]
	Region 1: Memory at e7001000 (32-bit, non-prefetchable) [size=256]
	Capabilities: [50] Power Management version 1
		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1+,D2+,D3hot
+,D3cold+)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-

0000:00:0b.0 Ethernet controller: 3Com Corporation 3c905B 100BaseTX
[Cyclone] (rev 30)
	Subsystem: 3Com Corporation 3C905B Fast Etherlink XL 10/100
	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 (2500ns min, 2500ns max), Cache Line Size: 0x08 (32 bytes)
	Interrupt: pin A routed to IRQ 10
	Region 0: I/O ports at b000 [size=128]
	Region 1: Memory at e7000000 (32-bit, non-prefetchable) [size=128]
	Capabilities: [dc] Power Management version 1
		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1+,D2+,D3hot
+,D3cold-)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-

0000:00:0f.0 Multimedia audio controller: C-Media Electronics Inc CM8738
(rev 10)
	Subsystem: C-Media Electronics Inc CMI8738/C3DX PCI Audio Device
	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, 6000ns max)
	Interrupt: pin A routed to IRQ 10
	Region 0: I/O ports at b400 [size=256]
	Capabilities: [c0] 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-

0000:00:10.0 RAID bus controller: Silicon Image, Inc. SiI 0649 Ultra
ATA/100 PCI to ATA Host Controller (rev 01)
	Subsystem: Silicon Image, Inc. SiI 0649 Ultra ATA/100 PCI to ATA Host
Controller
	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: 64 (500ns min, 1000ns max)
	Interrupt: pin A routed to IRQ 12
	Region 0: I/O ports at b800 [size=8]
	Region 1: I/O ports at bc00 [size=4]
	Region 2: I/O ports at c000 [size=8]
	Region 3: I/O ports at c400 [size=4]
	Region 4: I/O ports at c800 [size=16]
	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=3 PME-

0000:01:00.0 VGA compatible controller: ATI Technologies Inc RV280
[Radeon 9200 PRO] (rev 01) (prog-if 00 [VGA])
	Subsystem: Hightech Information System Ltd.: Unknown device 5960
	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 (2000ns min), Cache Line Size: 0x08 (32 bytes)
	Interrupt: pin A routed to IRQ 5
	Region 0: Memory at d0000000 (32-bit, prefetchable) [size=128M]
	Region 1: I/O ports at 9000 [size=256]
	Region 2: Memory at e5000000 (32-bit, non-prefetchable) [size=64K]
	Capabilities: [58] AGP version 2.0
		Status: RQ=80 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64- HTrans- 64bit-
FW+ AGP3- Rate=x1,x2,x4
		Command: RQ=1 ArqSz=0 Cal=0 SBA+ AGP- GART64- 64bit- FW- Rate=<none>
	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-

0000:01:00.1 Display controller: ATI Technologies Inc: Unknown device
5940 (rev 01)
	Subsystem: Hightech Information System Ltd.: Unknown device 5961
	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 (2000ns min), Cache Line Size: 0x08 (32 bytes)
	Region 0: Memory at d8000000 (32-bit, prefetchable) [size=128M]
	Region 1: Memory at e5010000 (32-bit, non-prefetchable) [size=64K]
	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-




======================
lspci -vvv from 2.6.13.1:
======================

0000:00:00.0 Host bridge: VIA Technologies, Inc. VT8363/8365
[KT133/KM133] (rev 02)
	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: 0
	Region 0: Memory at e0000000 (32-bit, prefetchable) [size=64M]
	Capabilities: [a0] AGP version 2.0
		Status: RQ=32 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64- HTrans- 64bit-
FW- AGP3- Rate=x1,x2,x4
		Command: RQ=1 ArqSz=0 Cal=0 SBA- AGP- GART64- 64bit- FW- Rate=<none>
	Capabilities: [c0] 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-

0000:00:01.0 PCI bridge: VIA Technologies, Inc. VT8363/8365 [KT133/KM133
AGP] (prog-if 00 [Normal decode])
	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: 0
	Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
	I/O behind bridge: 00009000-00009fff
	Memory behind bridge: e4000000-e5ffffff
	Prefetchable memory behind bridge: d0000000-dfffffff
	BridgeCtl: Parity- SERR- NoISA+ VGA+ MAbort- >Reset- FastB2B-
	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-

0000:00:07.0 ISA bridge: VIA Technologies, Inc. VT82C686 [Apollo Super
South] (rev 22)
	Subsystem: VIA Technologies, Inc. VT82C686/A PCI to ISA Bridge
	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: 0

0000:00:07.1 IDE interface: VIA Technologies, Inc.
VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 10)
(prog-if 8a [Master SecP PriP])
	Subsystem: VIA Technologies, Inc.
VT82C586/B/VT82C686/A/B/VT8233/A/C/VT8235 PIPC Bus Master IDE
	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 4: I/O ports at a000 [size=16]
	Capabilities: [c0] 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-

0000:00:07.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB
1.1 Controller (rev 10) (prog-if 00 [UHCI])
	Subsystem: VIA Technologies, Inc. (Wrong ID) USB Controller
	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, Cache Line Size: 0x08 (32 bytes)
	Interrupt: pin D routed to IRQ 12
	Region 4: I/O ports at a400 [size=32]
	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-

0000:00:07.3 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB
1.1 Controller (rev 10) (prog-if 00 [UHCI])
	Subsystem: VIA Technologies, Inc. (Wrong ID) USB Controller
	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, Cache Line Size: 0x08 (32 bytes)
	Interrupt: pin D routed to IRQ 12
	Region 4: I/O ports at a800 [size=32]
	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-

0000:00:07.4 Bridge: VIA Technologies, Inc. VT82C686 [Apollo Super ACPI]
(rev 30)
	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-
	Interrupt: pin ? routed to IRQ 9
	Capabilities: [68] 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-

0000:00:0a.0 Ethernet controller: Accton Technology Corporation
SMC2-1211TX (rev 10)
	Subsystem: Accton Technology Corporation EN-1207D Fast Ethernet Adapter
	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 min, 16000ns max)
	Interrupt: pin A routed to IRQ 11
	Region 0: I/O ports at ac00 [size=256]
	Region 1: Memory at e7001000 (32-bit, non-prefetchable) [size=256]
	Capabilities: [50] Power Management version 1
		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1+,D2+,D3hot
+,D3cold+)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-

0000:00:0b.0 Ethernet controller: 3Com Corporation 3c905B 100BaseTX
[Cyclone] (rev 30)
	Subsystem: 3Com Corporation 3C905B Fast Etherlink XL 10/100
	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 (2500ns min, 2500ns max), Cache Line Size: 0x08 (32 bytes)
	Interrupt: pin A routed to IRQ 10
	Region 0: I/O ports at b000 [size=128]
	Region 1: Memory at e7000000 (32-bit, non-prefetchable) [size=128]
	Expansion ROM at 40080000 [disabled] [size=128K]
	Capabilities: [dc] Power Management version 1
		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1+,D2+,D3hot
+,D3cold-)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-

0000:00:0f.0 Multimedia audio controller: C-Media Electronics Inc CM8738
(rev 10)
	Subsystem: C-Media Electronics Inc CMI8738/C3DX PCI Audio Device
	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, 6000ns max)
	Interrupt: pin A routed to IRQ 10
	Region 0: I/O ports at b400 [size=256]
	Capabilities: [c0] 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-

0000:00:10.0 RAID bus controller: Silicon Image, Inc. SiI 0649 Ultra
ATA/100 PCI to ATA Host Controller (rev 01)
	Subsystem: Silicon Image, Inc. SiI 0649 Ultra ATA/100 PCI to ATA Host
Controller
	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: 64 (500ns min, 1000ns max)
	Interrupt: pin A routed to IRQ 12
	Region 0: I/O ports at b800 [size=8]
	Region 1: I/O ports at bc00 [size=4]
	Region 2: I/O ports at c000 [size=8]
	Region 3: I/O ports at c400 [size=4]
	Region 4: I/O ports at c800 [size=16]
	Expansion ROM at 40000000 [disabled] [size=512K]
	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=3 PME-

0000:01:00.0 VGA compatible controller: ATI Technologies Inc RV280
[Radeon 9200 PRO] (rev 01) (prog-if 00 [VGA])
	Subsystem: Hightech Information System Ltd.: Unknown device 5960
	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 (2000ns min), Cache Line Size: 0x08 (32 bytes)
	Interrupt: pin A routed to IRQ 5
	Region 0: Memory at d0000000 (32-bit, prefetchable) [size=128M]
	Region 1: I/O ports at 9000 [size=256]
	Region 2: Memory at e5000000 (32-bit, non-prefetchable) [size=64K]
	Expansion ROM at e4000000 [disabled] [size=128K]
	Capabilities: [58] AGP version 2.0
		Status: RQ=80 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64- HTrans- 64bit-
FW+ AGP3- Rate=x1,x2,x4
		Command: RQ=1 ArqSz=0 Cal=0 SBA+ AGP- GART64- 64bit- FW- Rate=<none>
	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-

0000:01:00.1 Display controller: ATI Technologies Inc: Unknown device
5940 (rev 01)
	Subsystem: Hightech Information System Ltd.: Unknown device 5961
	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 (2000ns min), Cache Line Size: 0x08 (32 bytes)
	Region 0: Memory at d8000000 (32-bit, prefetchable) [size=128M]
	Region 1: Memory at e5010000 (32-bit, non-prefetchable) [size=64K]
	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-




[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: 2.6.13.1 locks machine after some time, 2.6.12.5 work fine
  2005-09-12 23:59 2.6.13.1 locks machine after some time, 2.6.12.5 work fine Norbert Kiesel
@ 2005-09-13  3:00 ` Linus Torvalds
  2005-09-13  3:38   ` Norbert Kiesel
  0 siblings, 1 reply; 18+ messages in thread
From: Linus Torvalds @ 2005-09-13  3:00 UTC (permalink / raw)
  To: Norbert Kiesel; +Cc: linux-kernel



On Mon, 12 Sep 2005, Norbert Kiesel wrote:
> 
> I append the lspci -vvv from both 2.6.12.5 and 2.6.13.1  The diff
> between these two is:

Can you do "lspci -vvx" instead (the numbers are actually meaningful:  
they say what the hardware has been told, while the symbolic info contains
some stuff that lspci actually gathered through other means by querying
the kernel).

Also, "diff -U 50 working broken" is a really nice way to show not only
the differences - it gives enough context that you can see all the
relevant info from the diff, and you don't even need to show the two
different versions separately (ie the diff itself ends up containing
pretty much all relevant info).

Finally - if you can try to pinpoint it somewhat more (eg "2.6.13-rc3 is
ok, -rc4 is not"), that would be very helpful..

		Linus

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: 2.6.13.1 locks machine after some time, 2.6.12.5 work fine
  2005-09-13  3:00 ` Linus Torvalds
@ 2005-09-13  3:38   ` Norbert Kiesel
  2005-09-13 14:25     ` Linus Torvalds
  0 siblings, 1 reply; 18+ messages in thread
From: Norbert Kiesel @ 2005-09-13  3:38 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1355 bytes --]

Hi,

diff is appended.  Regarding the -rc3 and friends, currently I can't as
I jumped directly from 12.5 to 13.  This is my desktop at work, so I
try to keep it somewhat stable.  However, if you have a guess which
versions to try, I can give it a spin.  It takes some time though to
test, as the lockup normally only happens after 1 hour or so (although
I could propably speed this up by doing lots of disk IO).

Best,
  Norbert

On Mon, Sep 12, 2005 at 08:00:24PM -0700, Linus Torvalds wrote:
> 
> 
> On Mon, 12 Sep 2005, Norbert Kiesel wrote:
> > 
> > I append the lspci -vvv from both 2.6.12.5 and 2.6.13.1  The diff
> > between these two is:
> 
> Can you do "lspci -vvx" instead (the numbers are actually meaningful:  
> they say what the hardware has been told, while the symbolic info contains
> some stuff that lspci actually gathered through other means by querying
> the kernel).
> 
> Also, "diff -U 50 working broken" is a really nice way to show not only
> the differences - it gives enough context that you can see all the
> relevant info from the diff, and you don't even need to show the two
> different versions separately (ie the diff itself ends up containing
> pretty much all relevant info).
> 
> Finally - if you can try to pinpoint it somewhat more (eg "2.6.13-rc3 is
> ok, -rc4 is not"), that would be very helpful..
> 
> 		Linus
> 

[-- Attachment #2: diff-U50 --]
[-- Type: text/plain, Size: 11848 bytes --]

--- 2.6.12.5/lspci-vvx	2005-09-12 20:26:21.000000000 -0700
+++ 2.6.13.1/lspci-vvx	2005-09-12 20:29:05.000000000 -0700
@@ -1,62 +1,62 @@
 0000:00:00.0 Host bridge: VIA Technologies, Inc. VT8363/8365 [KT133/KM133] (rev 02)
 	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+
+	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort+ >SERR- <PERR-
 	Latency: 0
 	Region 0: Memory at e0000000 (32-bit, prefetchable) [size=64M]
 	Capabilities: [a0] AGP version 2.0
 		Status: RQ=32 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64- HTrans- 64bit- FW- AGP3- Rate=x1,x2,x4
-		Command: RQ=1 ArqSz=0 Cal=0 SBA+ AGP+ GART64- 64bit- FW- Rate=x1
+		Command: RQ=1 ArqSz=0 Cal=0 SBA- AGP- GART64- 64bit- FW- Rate=<none>
 	Capabilities: [c0] 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 11 05 03 06 00 10 a2 02 00 00 06 00 00 00 00
+00: 06 11 05 03 06 00 10 22 02 00 00 06 00 00 00 00
 10: 08 00 00 e0 00 00 00 00 00 00 00 00 00 00 00 00
 20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 30: 00 00 00 00 a0 00 00 00 00 00 00 00 00 00 00 00
 
 0000:00:01.0 PCI bridge: VIA Technologies, Inc. VT8363/8365 [KT133/KM133 AGP] (prog-if 00 [Normal decode])
 	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: 0
 	Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
 	I/O behind bridge: 00009000-00009fff
 	Memory behind bridge: e4000000-e5ffffff
 	Prefetchable memory behind bridge: d0000000-dfffffff
 	BridgeCtl: Parity- SERR- NoISA+ VGA+ MAbort- >Reset- FastB2B-
 	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: 06 11 05 83 07 00 30 22 00 00 04 06 00 00 01 00
 10: 00 00 00 00 00 00 00 00 00 01 01 00 90 90 00 00
 20: 00 e4 f0 e5 00 d0 f0 df 00 00 00 00 00 00 00 00
 30: 00 00 00 00 80 00 00 00 00 00 00 00 00 00 0c 00
 
 0000:00:07.0 ISA bridge: VIA Technologies, Inc. VT82C686 [Apollo Super South] (rev 22)
 	Subsystem: VIA Technologies, Inc. VT82C686/A PCI to ISA Bridge
 	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: 0
 00: 06 11 86 06 87 00 10 02 22 00 01 06 00 00 80 00
 10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 20: 00 00 00 00 00 00 00 00 00 00 00 00 06 11 00 00
 30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 
 0000:00:07.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 10) (prog-if 8a [Master SecP PriP])
 	Subsystem: VIA Technologies, Inc. VT82C586/B/VT82C686/A/B/VT8233/A/C/VT8235 PIPC Bus Master IDE
 	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 4: I/O ports at a000 [size=16]
 	Capabilities: [c0] 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 11 71 05 07 00 90 02 10 8a 01 01 00 20 00 00
 10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 20: 01 a0 00 00 00 00 00 00 00 00 00 00 06 11 71 05
 30: 00 00 00 00 c0 00 00 00 00 00 00 00 ff 00 00 00
 
 0000:00:07.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 10) (prog-if 00 [UHCI])
 	Subsystem: VIA Technologies, Inc. (Wrong ID) USB Controller
 	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, Cache Line Size: 0x08 (32 bytes)
@@ -74,127 +74,130 @@
 	Subsystem: VIA Technologies, Inc. (Wrong ID) USB Controller
 	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, Cache Line Size: 0x08 (32 bytes)
 	Interrupt: pin D routed to IRQ 12
 	Region 4: I/O ports at a800 [size=32]
 	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: 06 11 38 30 07 00 10 02 10 00 03 0c 08 20 00 00
 10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 20: 01 a8 00 00 00 00 00 00 00 00 00 00 25 09 34 12
 30: 00 00 00 00 80 00 00 00 00 00 00 00 0c 04 00 00
 
 0000:00:07.4 Bridge: VIA Technologies, Inc. VT82C686 [Apollo Super ACPI] (rev 30)
 	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-
 	Interrupt: pin ? routed to IRQ 9
 	Capabilities: [68] 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 11 57 30 00 00 90 02 30 00 80 06 00 00 00 00
 10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 30: 00 00 00 00 68 00 00 00 00 00 00 00 00 00 00 00
 
 0000:00:0a.0 Ethernet controller: Accton Technology Corporation SMC2-1211TX (rev 10)
 	Subsystem: Accton Technology Corporation EN-1207D Fast Ethernet Adapter
 	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 min, 16000ns max)
 	Interrupt: pin A routed to IRQ 11
 	Region 0: I/O ports at ac00 [size=256]
 	Region 1: Memory at e7001000 (32-bit, non-prefetchable) [size=256]
 	Capabilities: [50] Power Management version 1
 		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1+,D2+,D3hot+,D3cold+)
 		Status: D0 PME-Enable- DSel=0 DScale=0 PME-
 00: 13 11 11 12 07 00 90 02 10 00 00 02 00 20 00 00
 10: 01 ac 00 00 00 10 00 e7 00 00 00 00 00 00 00 00
 20: 00 00 00 00 00 00 00 00 00 00 00 00 13 11 11 12
 30: 00 00 00 00 50 00 00 00 00 00 00 00 0b 01 20 40
 
 0000:00:0b.0 Ethernet controller: 3Com Corporation 3c905B 100BaseTX [Cyclone] (rev 30)
 	Subsystem: 3Com Corporation 3C905B Fast Etherlink XL 10/100
 	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 (2500ns min, 2500ns max), Cache Line Size: 0x08 (32 bytes)
 	Interrupt: pin A routed to IRQ 10
 	Region 0: I/O ports at b000 [size=128]
 	Region 1: Memory at e7000000 (32-bit, non-prefetchable) [size=128]
+	Expansion ROM at 40080000 [disabled] [size=128K]
 	Capabilities: [dc] Power Management version 1
 		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1+,D2+,D3hot+,D3cold-)
 		Status: D0 PME-Enable- DSel=0 DScale=0 PME-
 00: b7 10 55 90 07 00 10 02 30 00 00 02 08 20 00 00
 10: 01 b0 00 00 00 00 00 e7 00 00 00 00 00 00 00 00
 20: 00 00 00 00 00 00 00 00 00 00 00 00 b7 10 55 90
 30: 00 00 00 00 dc 00 00 00 00 00 00 00 0a 01 0a 0a
 
 0000:00:0f.0 Multimedia audio controller: C-Media Electronics Inc CM8738 (rev 10)
 	Subsystem: C-Media Electronics Inc CMI8738/C3DX PCI Audio Device
 	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, 6000ns max)
 	Interrupt: pin A routed to IRQ 10
 	Region 0: I/O ports at b400 [size=256]
 	Capabilities: [c0] 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: f6 13 11 01 05 00 10 02 10 00 01 04 00 20 00 00
 10: 01 b4 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 20: 00 00 00 00 00 00 00 00 00 00 00 00 f6 13 11 01
 30: 00 00 00 00 c0 00 00 00 00 00 00 00 0a 01 02 18
 
 0000:00:10.0 RAID bus controller: Silicon Image, Inc. SiI 0649 Ultra ATA/100 PCI to ATA Host Controller (rev 01)
 	Subsystem: Silicon Image, Inc. SiI 0649 Ultra ATA/100 PCI to ATA Host Controller
 	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: 64 (500ns min, 1000ns max)
 	Interrupt: pin A routed to IRQ 12
 	Region 0: I/O ports at b800 [size=8]
 	Region 1: I/O ports at bc00 [size=4]
 	Region 2: I/O ports at c000 [size=8]
 	Region 3: I/O ports at c400 [size=4]
 	Region 4: I/O ports at c800 [size=16]
+	Expansion ROM at 40000000 [disabled] [size=512K]
 	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=3 PME-
 00: 95 10 49 06 07 00 90 02 01 00 04 01 00 40 00 00
 10: 01 b8 00 00 01 bc 00 00 01 c0 00 00 01 c4 00 00
 20: 01 c8 00 00 00 00 00 00 00 00 00 00 95 10 49 06
-30: 00 00 00 00 60 00 00 00 00 00 00 00 0c 01 02 04
+30: 01 00 00 00 60 00 00 00 00 00 00 00 0c 01 02 04
 
 0000:01:00.0 VGA compatible controller: ATI Technologies Inc RV280 [Radeon 9200 PRO] (rev 01) (prog-if 00 [VGA])
 	Subsystem: Hightech Information System Ltd.: Unknown device 5960
 	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 (2000ns min), Cache Line Size: 0x08 (32 bytes)
 	Interrupt: pin A routed to IRQ 5
 	Region 0: Memory at d0000000 (32-bit, prefetchable) [size=128M]
 	Region 1: I/O ports at 9000 [size=256]
 	Region 2: Memory at e5000000 (32-bit, non-prefetchable) [size=64K]
+	Expansion ROM at e4000000 [disabled] [size=128K]
 	Capabilities: [58] AGP version 2.0
 		Status: RQ=80 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64- HTrans- 64bit- FW+ AGP3- Rate=x1,x2,x4
-		Command: RQ=32 ArqSz=0 Cal=0 SBA+ AGP+ GART64- 64bit- FW- Rate=x1
+		Command: RQ=1 ArqSz=0 Cal=0 SBA+ AGP- GART64- 64bit- FW- Rate=<none>
 	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-
 00: 02 10 60 59 07 00 b0 02 01 00 00 03 08 20 80 00
 10: 08 00 00 d0 01 90 00 00 00 00 00 e5 00 00 00 00
 20: 00 00 00 00 00 00 00 00 00 00 00 00 87 17 60 59
 30: 00 00 00 00 58 00 00 00 00 00 00 00 05 01 08 00
 
 0000:01:00.1 Display controller: ATI Technologies Inc: Unknown device 5940 (rev 01)
 	Subsystem: Hightech Information System Ltd.: Unknown device 5961
 	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 (2000ns min), Cache Line Size: 0x08 (32 bytes)
 	Region 0: Memory at d8000000 (32-bit, prefetchable) [size=128M]
 	Region 1: Memory at e5010000 (32-bit, non-prefetchable) [size=64K]
 	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-
 00: 02 10 40 59 07 00 b0 02 01 00 80 03 08 20 00 00
 10: 08 00 00 d8 00 00 01 e5 00 00 00 00 00 00 00 00
 20: 00 00 00 00 00 00 00 00 00 00 00 00 87 17 61 59
 30: 00 00 00 00 50 00 00 00 00 00 00 00 ff 00 08 00
 

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: 2.6.13.1 locks machine after some time, 2.6.12.5 work fine
  2005-09-13  3:38   ` Norbert Kiesel
@ 2005-09-13 14:25     ` Linus Torvalds
  2005-09-13 14:57       ` Linus Torvalds
                         ` (2 more replies)
  0 siblings, 3 replies; 18+ messages in thread
From: Linus Torvalds @ 2005-09-13 14:25 UTC (permalink / raw)
  To: Norbert Kiesel; +Cc: linux-kernel



On Mon, 12 Sep 2005, Norbert Kiesel wrote:
> 
> diff is appended.  Regarding the -rc3 and friends, currently I can't as
> I jumped directly from 12.5 to 13.  This is my desktop at work, so I
> try to keep it somewhat stable.  However, if you have a guess which
> versions to try, I can give it a spin.  It takes some time though to
> test, as the lockup normally only happens after 1 hour or so (although
> I could propably speed this up by doing lots of disk IO).

No need. The numbers made it clear: this is the same bug that hit the 
hpt366 driver:

	 0000:00:10.0 RAID bus controller: Silicon Image, Inc. SiI 0649
			Ultra ATA/100 PCI to ATA Host Controller (rev 01)
	 ...
	 00: 95 10 49 06 07 00 90 02 01 00 04 01 00 40 00 00
	 10: 01 b8 00 00 01 bc 00 00 01 c0 00 00 01 c4 00 00
	 20: 01 c8 00 00 00 00 00 00 00 00 00 00 95 10 49 06
	-30: 00 00 00 00 60 00 00 00 00 00 00 00 0c 01 02 04
	+30: 01 00 00 00 60 00 00 00 00 00 00 00 0c 01 02 04

and the exact same cause too. 

I wonder who the _hell_ has been sprinkling these _byte_ writes to the ROM
enable logic around?

I bet this will fix it..

		Linus
---
diff --git a/drivers/ide/pci/cmd64x.c b/drivers/ide/pci/cmd64x.c
--- a/drivers/ide/pci/cmd64x.c
+++ b/drivers/ide/pci/cmd64x.c
@@ -608,7 +608,7 @@ static unsigned int __devinit init_chips
 
 #ifdef __i386__
 	if (dev->resource[PCI_ROM_RESOURCE].start) {
-		pci_write_config_byte(dev, PCI_ROM_ADDRESS, dev->resource[PCI_ROM_RESOURCE].start | PCI_ROM_ADDRESS_ENABLE);
+		pci_write_config_dword(dev, PCI_ROM_ADDRESS, dev->resource[PCI_ROM_RESOURCE].start | PCI_ROM_ADDRESS_ENABLE);
 		printk(KERN_INFO "%s: ROM enabled at 0x%08lx\n", name, dev->resource[PCI_ROM_RESOURCE].start);
 	}
 #endif

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: 2.6.13.1 locks machine after some time, 2.6.12.5 work fine
  2005-09-13 14:25     ` Linus Torvalds
@ 2005-09-13 14:57       ` Linus Torvalds
  2005-09-13 16:02         ` Adam Kropelin
  2005-09-13 16:27       ` 2.6.13.1 locks machine after some time, 2.6.12.5 work fine Norbert Kiesel
  2005-09-13 17:09       ` Norbert Kiesel
  2 siblings, 1 reply; 18+ messages in thread
From: Linus Torvalds @ 2005-09-13 14:57 UTC (permalink / raw)
  To: Norbert Kiesel; +Cc: linux-kernel



On Tue, 13 Sep 2005, Linus Torvalds wrote:
> 
> I bet this will fix it..

Btw, there's a third case of this in the hpt34x driver. I'll fix that one 
too.

		Linus

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: 2.6.13.1 locks machine after some time, 2.6.12.5 work fine
  2005-09-13 16:02         ` Adam Kropelin
@ 2005-09-13 15:55           ` Linus Torvalds
  2005-09-13 20:22             ` David S. Miller
  0 siblings, 1 reply; 18+ messages in thread
From: Linus Torvalds @ 2005-09-13 15:55 UTC (permalink / raw)
  To: Adam Kropelin; +Cc: Norbert Kiesel, linux-kernel



On Tue, 13 Sep 2005, Adam Kropelin wrote:
> 
> That made me do some grepping of my own. Nothing obvious, but this bit
> from drivers/scsi/qla2xxx/qla_init.c seems a little odd:
> 
>         uint16_t w, mwi;
> 	...
>         /* Reset expansion ROM address decode enable */
>         pci_read_config_word(ha->pdev, PCI_ROM_ADDRESS, &w);
>         w &= ~PCI_ROM_ADDRESS_ENABLE;
>         pci_write_config_word(ha->pdev, PCI_ROM_ADDRESS, w);
> 
> Is the address register really only 16 bits wide on some hw?

Nope.

_Most_ hardware will "do the right thing" when you do a sub-word write. 
So these things often work (eg, the ROM enable code that used byte writes 
probably worked fine - as long as the high bytes already matched the 
expectations).

But I think the spec says that you should always write a whole dword at a
time for all the dword registers, and some hardware will literally do the
wrong thing if you try to update things a byte at a time. 

So the above probably works fine, especially since it's just disabling the 
ROM (ie we don't end up caring at all about the upper bits even if they 
did get the wrong value). But it's definitely bad practice, and there are 
probably cards (for which that driver is irrelevant, of course ;) where 
doing something like the above might not work at all.

		Linus

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: 2.6.13.1 locks machine after some time, 2.6.12.5 work fine
  2005-09-13 14:57       ` Linus Torvalds
@ 2005-09-13 16:02         ` Adam Kropelin
  2005-09-13 15:55           ` Linus Torvalds
  0 siblings, 1 reply; 18+ messages in thread
From: Adam Kropelin @ 2005-09-13 16:02 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Norbert Kiesel, linux-kernel

On Tue, 13 Sep 2005, Linus Torvalds wrote:
> On Tue, 13 Sep 2005, Linus Torvalds wrote:
> > 
> > I bet this will fix it..
> 
> Btw, there's a third case of this in the hpt34x driver. I'll fix that
> one too.

That made me do some grepping of my own. Nothing obvious, but this bit
from drivers/scsi/qla2xxx/qla_init.c seems a little odd:

        uint16_t w, mwi;
	...
        /* Reset expansion ROM address decode enable */
        pci_read_config_word(ha->pdev, PCI_ROM_ADDRESS, &w);
        w &= ~PCI_ROM_ADDRESS_ENABLE;
        pci_write_config_word(ha->pdev, PCI_ROM_ADDRESS, w);

Is the address register really only 16 bits wide on some hw?

--Adam


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: 2.6.13.1 locks machine after some time, 2.6.12.5 work fine
  2005-09-13 14:25     ` Linus Torvalds
  2005-09-13 14:57       ` Linus Torvalds
@ 2005-09-13 16:27       ` Norbert Kiesel
  2005-09-13 17:09       ` Norbert Kiesel
  2 siblings, 0 replies; 18+ messages in thread
From: Norbert Kiesel @ 2005-09-13 16:27 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux-kernel

Hi,

I'll apply the patch right away and will report back.

Best,
  Norbert

On Tue, Sep 13, 2005 at 07:25:11AM -0700, Linus Torvalds wrote:
> 
> 
> On Mon, 12 Sep 2005, Norbert Kiesel wrote:
> > 
> > diff is appended.  Regarding the -rc3 and friends, currently I can't as
> > I jumped directly from 12.5 to 13.  This is my desktop at work, so I
> > try to keep it somewhat stable.  However, if you have a guess which
> > versions to try, I can give it a spin.  It takes some time though to
> > test, as the lockup normally only happens after 1 hour or so (although
> > I could propably speed this up by doing lots of disk IO).
> 
> No need. The numbers made it clear: this is the same bug that hit the 
> hpt366 driver:
> 
> 	 0000:00:10.0 RAID bus controller: Silicon Image, Inc. SiI 0649
> 			Ultra ATA/100 PCI to ATA Host Controller (rev 01)
> 	 ...
> 	 00: 95 10 49 06 07 00 90 02 01 00 04 01 00 40 00 00
> 	 10: 01 b8 00 00 01 bc 00 00 01 c0 00 00 01 c4 00 00
> 	 20: 01 c8 00 00 00 00 00 00 00 00 00 00 95 10 49 06
> 	-30: 00 00 00 00 60 00 00 00 00 00 00 00 0c 01 02 04
> 	+30: 01 00 00 00 60 00 00 00 00 00 00 00 0c 01 02 04
> 
> and the exact same cause too. 
> 
> I wonder who the _hell_ has been sprinkling these _byte_ writes to the ROM
> enable logic around?
> 
> I bet this will fix it..
> 
> 		Linus
> ---
> diff --git a/drivers/ide/pci/cmd64x.c b/drivers/ide/pci/cmd64x.c
> --- a/drivers/ide/pci/cmd64x.c
> +++ b/drivers/ide/pci/cmd64x.c
> @@ -608,7 +608,7 @@ static unsigned int __devinit init_chips
>  
>  #ifdef __i386__
>  	if (dev->resource[PCI_ROM_RESOURCE].start) {
> -		pci_write_config_byte(dev, PCI_ROM_ADDRESS, dev->resource[PCI_ROM_RESOURCE].start | PCI_ROM_ADDRESS_ENABLE);
> +		pci_write_config_dword(dev, PCI_ROM_ADDRESS, dev->resource[PCI_ROM_RESOURCE].start | PCI_ROM_ADDRESS_ENABLE);
>  		printk(KERN_INFO "%s: ROM enabled at 0x%08lx\n", name, dev->resource[PCI_ROM_RESOURCE].start);
>  	}
>  #endif
> 

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: 2.6.13.1 locks machine after some time, 2.6.12.5 work fine
  2005-09-13 14:25     ` Linus Torvalds
  2005-09-13 14:57       ` Linus Torvalds
  2005-09-13 16:27       ` 2.6.13.1 locks machine after some time, 2.6.12.5 work fine Norbert Kiesel
@ 2005-09-13 17:09       ` Norbert Kiesel
  2005-09-13 17:23         ` Linus Torvalds
  2 siblings, 1 reply; 18+ messages in thread
From: Norbert Kiesel @ 2005-09-13 17:09 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux-kernel

[-- Attachment #1: Type: text/plain, Size: 14146 bytes --]

On Tue, 2005-09-13 at 07:25 -0700, Linus Torvalds wrote:
> 
> On Mon, 12 Sep 2005, Norbert Kiesel wrote:
> > 
> > diff is appended.  Regarding the -rc3 and friends, currently I can't as
> > I jumped directly from 12.5 to 13.  This is my desktop at work, so I
> > try to keep it somewhat stable.  However, if you have a guess which
> > versions to try, I can give it a spin.  It takes some time though to
> > test, as the lockup normally only happens after 1 hour or so (although
> > I could propably speed this up by doing lots of disk IO).
> 
> No need. The numbers made it clear: this is the same bug that hit the 
> hpt366 driver:
> 
> 	 0000:00:10.0 RAID bus controller: Silicon Image, Inc. SiI 0649
> 			Ultra ATA/100 PCI to ATA Host Controller (rev 01)
> 	 ...
> 	 00: 95 10 49 06 07 00 90 02 01 00 04 01 00 40 00 00
> 	 10: 01 b8 00 00 01 bc 00 00 01 c0 00 00 01 c4 00 00
> 	 20: 01 c8 00 00 00 00 00 00 00 00 00 00 95 10 49 06
> 	-30: 00 00 00 00 60 00 00 00 00 00 00 00 0c 01 02 04
> 	+30: 01 00 00 00 60 00 00 00 00 00 00 00 0c 01 02 04
> 
> and the exact same cause too. 
> 
> I wonder who the _hell_ has been sprinkling these _byte_ writes to the ROM
> enable logic around?
> 
> I bet this will fix it..
> 
> 		Linus
> ---
> diff --git a/drivers/ide/pci/cmd64x.c b/drivers/ide/pci/cmd64x.c
> --- a/drivers/ide/pci/cmd64x.c
> +++ b/drivers/ide/pci/cmd64x.c
> @@ -608,7 +608,7 @@ static unsigned int __devinit init_chips
>  
>  #ifdef __i386__
>  	if (dev->resource[PCI_ROM_RESOURCE].start) {
> -		pci_write_config_byte(dev, PCI_ROM_ADDRESS, dev->resource[PCI_ROM_RESOURCE].start | PCI_ROM_ADDRESS_ENABLE);
> +		pci_write_config_dword(dev, PCI_ROM_ADDRESS, dev->resource[PCI_ROM_RESOURCE].start | PCI_ROM_ADDRESS_ENABLE);
>  		printk(KERN_INFO "%s: ROM enabled at 0x%08lx\n", name, dev->resource[PCI_ROM_RESOURCE].start);
>  	}
>  #endif
> 

Ok, I applied the patch and I'm running it right now, so far so good.
Here is the the output of lspci from the patched 2.6.13.1 (not sure if a
diff to the unpatched 2.6.13.1 or the 2.6.12.5 would be more useful, so
I settled for no diff :-).

0000:00:00.0 Host bridge: VIA Technologies, Inc. VT8363/8365
[KT133/KM133] (rev 02)
	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: 0
	Region 0: Memory at e0000000 (32-bit, prefetchable) [size=64M]
	Capabilities: [a0] AGP version 2.0
		Status: RQ=32 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64- HTrans- 64bit-
FW- AGP3- Rate=x1,x2,x4
		Command: RQ=1 ArqSz=0 Cal=0 SBA+ AGP+ GART64- 64bit- FW- Rate=x1
	Capabilities: [c0] 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 11 05 03 06 00 10 22 02 00 00 06 00 00 00 00
10: 08 00 00 e0 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
30: 00 00 00 00 a0 00 00 00 00 00 00 00 00 00 00 00

0000:00:01.0 PCI bridge: VIA Technologies, Inc. VT8363/8365 [KT133/KM133
AGP] (prog-if 00 [Normal decode])
	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: 0
	Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
	I/O behind bridge: 00009000-00009fff
	Memory behind bridge: e4000000-e5ffffff
	Prefetchable memory behind bridge: d0000000-dfffffff
	BridgeCtl: Parity- SERR- NoISA+ VGA+ MAbort- >Reset- FastB2B-
	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: 06 11 05 83 07 00 30 22 00 00 04 06 00 00 01 00
10: 00 00 00 00 00 00 00 00 00 01 01 00 90 90 00 00
20: 00 e4 f0 e5 00 d0 f0 df 00 00 00 00 00 00 00 00
30: 00 00 00 00 80 00 00 00 00 00 00 00 00 00 0c 00

0000:00:07.0 ISA bridge: VIA Technologies, Inc. VT82C686 [Apollo Super
South] (rev 22)
	Subsystem: VIA Technologies, Inc. VT82C686/A PCI to ISA Bridge
	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: 0
00: 06 11 86 06 87 00 10 02 22 00 01 06 00 00 80 00
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 06 11 00 00
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

0000:00:07.1 IDE interface: VIA Technologies, Inc.
VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 10)
(prog-if 8a [Master SecP PriP])
	Subsystem: VIA Technologies, Inc.
VT82C586/B/VT82C686/A/B/VT8233/A/C/VT8235 PIPC Bus Master IDE
	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 4: I/O ports at a000 [size=16]
	Capabilities: [c0] 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 11 71 05 07 00 90 02 10 8a 01 01 00 20 00 00
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 01 a0 00 00 00 00 00 00 00 00 00 00 06 11 71 05
30: 00 00 00 00 c0 00 00 00 00 00 00 00 ff 00 00 00

0000:00:07.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB
1.1 Controller (rev 10) (prog-if 00 [UHCI])
	Subsystem: VIA Technologies, Inc. (Wrong ID) USB Controller
	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, Cache Line Size: 0x08 (32 bytes)
	Interrupt: pin D routed to IRQ 12
	Region 4: I/O ports at a400 [size=32]
	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: 06 11 38 30 07 00 10 02 10 00 03 0c 08 20 00 00
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 01 a4 00 00 00 00 00 00 00 00 00 00 25 09 34 12
30: 00 00 00 00 80 00 00 00 00 00 00 00 0c 04 00 00

0000:00:07.3 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB
1.1 Controller (rev 10) (prog-if 00 [UHCI])
	Subsystem: VIA Technologies, Inc. (Wrong ID) USB Controller
	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, Cache Line Size: 0x08 (32 bytes)
	Interrupt: pin D routed to IRQ 12
	Region 4: I/O ports at a800 [size=32]
	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: 06 11 38 30 07 00 10 02 10 00 03 0c 08 20 00 00
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 01 a8 00 00 00 00 00 00 00 00 00 00 25 09 34 12
30: 00 00 00 00 80 00 00 00 00 00 00 00 0c 04 00 00

0000:00:07.4 Bridge: VIA Technologies, Inc. VT82C686 [Apollo Super ACPI]
(rev 30)
	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-
	Interrupt: pin ? routed to IRQ 9
	Capabilities: [68] 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 11 57 30 00 00 90 02 30 00 80 06 00 00 00 00
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
30: 00 00 00 00 68 00 00 00 00 00 00 00 00 00 00 00

0000:00:0a.0 Ethernet controller: Accton Technology Corporation
SMC2-1211TX (rev 10)
	Subsystem: Accton Technology Corporation EN-1207D Fast Ethernet Adapter
	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 min, 16000ns max)
	Interrupt: pin A routed to IRQ 11
	Region 0: I/O ports at ac00 [size=256]
	Region 1: Memory at e7001000 (32-bit, non-prefetchable) [size=256]
	Capabilities: [50] Power Management version 1
		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1+,D2+,D3hot
+,D3cold+)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-
00: 13 11 11 12 07 00 90 02 10 00 00 02 00 20 00 00
10: 01 ac 00 00 00 10 00 e7 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 13 11 11 12
30: 00 00 00 00 50 00 00 00 00 00 00 00 0b 01 20 40

0000:00:0b.0 Ethernet controller: 3Com Corporation 3c905B 100BaseTX
[Cyclone] (rev 30)
	Subsystem: 3Com Corporation 3C905B Fast Etherlink XL 10/100
	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 (2500ns min, 2500ns max), Cache Line Size: 0x08 (32 bytes)
	Interrupt: pin A routed to IRQ 10
	Region 0: I/O ports at b000 [size=128]
	Region 1: Memory at e7000000 (32-bit, non-prefetchable) [size=128]
	Expansion ROM at 40080000 [disabled] [size=128K]
	Capabilities: [dc] Power Management version 1
		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1+,D2+,D3hot
+,D3cold-)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-
00: b7 10 55 90 07 00 10 02 30 00 00 02 08 20 00 00
10: 01 b0 00 00 00 00 00 e7 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 b7 10 55 90
30: 00 00 00 00 dc 00 00 00 00 00 00 00 0a 01 0a 0a

0000:00:0f.0 Multimedia audio controller: C-Media Electronics Inc CM8738
(rev 10)
	Subsystem: C-Media Electronics Inc CMI8738/C3DX PCI Audio Device
	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, 6000ns max)
	Interrupt: pin A routed to IRQ 10
	Region 0: I/O ports at b400 [size=256]
	Capabilities: [c0] 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: f6 13 11 01 05 00 10 02 10 00 01 04 00 20 00 00
10: 01 b4 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 f6 13 11 01
30: 00 00 00 00 c0 00 00 00 00 00 00 00 0a 01 02 18

0000:00:10.0 RAID bus controller: Silicon Image, Inc. SiI 0649 Ultra
ATA/100 PCI to ATA Host Controller (rev 01)
	Subsystem: Silicon Image, Inc. SiI 0649 Ultra ATA/100 PCI to ATA Host
Controller
	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: 64 (500ns min, 1000ns max)
	Interrupt: pin A routed to IRQ 12
	Region 0: I/O ports at b800 [size=8]
	Region 1: I/O ports at bc00 [size=4]
	Region 2: I/O ports at c000 [size=8]
	Region 3: I/O ports at c400 [size=4]
	Region 4: I/O ports at c800 [size=16]
	Expansion ROM at 40000000 [disabled] [size=512K]
	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=3 PME-
00: 95 10 49 06 07 00 90 02 01 00 04 01 00 40 00 00
10: 01 b8 00 00 01 bc 00 00 01 c0 00 00 01 c4 00 00
20: 01 c8 00 00 00 00 00 00 00 00 00 00 95 10 49 06
30: 01 00 00 40 60 00 00 00 00 00 00 00 0c 01 02 04

0000:01:00.0 VGA compatible controller: ATI Technologies Inc RV280
[Radeon 9200 PRO] (rev 01) (prog-if 00 [VGA])
	Subsystem: Hightech Information System Ltd.: Unknown device 5960
	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 (2000ns min), Cache Line Size: 0x08 (32 bytes)
	Interrupt: pin A routed to IRQ 5
	Region 0: Memory at d0000000 (32-bit, prefetchable) [size=128M]
	Region 1: I/O ports at 9000 [size=256]
	Region 2: Memory at e5000000 (32-bit, non-prefetchable) [size=64K]
	Expansion ROM at e4000000 [disabled] [size=128K]
	Capabilities: [58] AGP version 2.0
		Status: RQ=80 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64- HTrans- 64bit-
FW+ AGP3- Rate=x1,x2,x4
		Command: RQ=32 ArqSz=0 Cal=0 SBA+ AGP+ GART64- 64bit- FW- Rate=x1
	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-
00: 02 10 60 59 07 00 b0 02 01 00 00 03 08 20 80 00
10: 08 00 00 d0 01 90 00 00 00 00 00 e5 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 87 17 60 59
30: 00 00 00 00 58 00 00 00 00 00 00 00 05 01 08 00

0000:01:00.1 Display controller: ATI Technologies Inc: Unknown device
5940 (rev 01)
	Subsystem: Hightech Information System Ltd.: Unknown device 5961
	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 (2000ns min), Cache Line Size: 0x08 (32 bytes)
	Region 0: Memory at d8000000 (32-bit, prefetchable) [size=128M]
	Region 1: Memory at e5010000 (32-bit, non-prefetchable) [size=64K]
	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-
00: 02 10 40 59 07 00 b0 02 01 00 80 03 08 20 00 00
10: 08 00 00 d8 00 00 01 e5 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 87 17 61 59
30: 00 00 00 00 50 00 00 00 00 00 00 00 ff 00 08 00


Best,
  Norbert


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: 2.6.13.1 locks machine after some time, 2.6.12.5 work fine
  2005-09-13 17:09       ` Norbert Kiesel
@ 2005-09-13 17:23         ` Linus Torvalds
  2005-09-13 21:23           ` Norbert Kiesel
  0 siblings, 1 reply; 18+ messages in thread
From: Linus Torvalds @ 2005-09-13 17:23 UTC (permalink / raw)
  To: Norbert Kiesel; +Cc: linux-kernel



On Tue, 13 Sep 2005, Norbert Kiesel wrote:
> 
> Ok, I applied the patch and I'm running it right now, so far so good.
> Here is the the output of lspci from the patched 2.6.13.1 (not sure if a
> diff to the unpatched 2.6.13.1 or the 2.6.12.5 would be more useful, so
> I settled for no diff :-).

Yes, now it looks better, except for a lspci quirk. You have:

> 0000:00:10.0 RAID bus controller: Silicon Image, Inc. SiI 0649
>		Ultra ATA/100 PCI to ATA Host Controller (rev 01)

and lspci reports:

> 	Expansion ROM at 40000000 [disabled] [size=512K]

where the "disabled" comes from the fact that it looks at the sysfs data 
structures, and the resource is indeed marked as disabled there (because 
nothing enabled it explicitly).

But then reading the HW registers, we see:

> 30: 01 00 00 40 60 00 00 00 00 00 00 00 0c 01 02 04

Ie now the ROM address value is 0x40000001, which means that as far as the 
_hardware_ is concerned, the ROM is actually enabled.

That's because the cmd64x driver enabled the ROM by just writing the 
enable bit directly, and never actually told the resource layer that it 
had done so. Not a big deal - we've properly allocated the resource 
region, so there's no overlap, there's just this strange disconnect 
between what the hardware thinks and what the resource handling things.

Anyway, it all looks reasonable. Of course, exactly like with the hpt 
driver, there doesn't seem to be any real _reason_ to enable the ROM in 
the first place, and that code is #ifdef __i386__ anyway (so if there 
_was_ a reason, it wouldn't work on anything else than an x86), so I 
suspect we should just remove the ROM enable entirely.

But it really shouldn't matter - at least we now enable the ROM
_correctly_, and I'm pretty sure (and certainly sincerely hope ;) that
your lockup is gone.

			Linus

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: 2.6.13.1 locks machine after some time, 2.6.12.5 work fine
  2005-09-13 15:55           ` Linus Torvalds
@ 2005-09-13 20:22             ` David S. Miller
  2005-09-13 22:25               ` Adam Kropelin
  0 siblings, 1 reply; 18+ messages in thread
From: David S. Miller @ 2005-09-13 20:22 UTC (permalink / raw)
  To: torvalds; +Cc: akropel1, nkiesel, linux-kernel

From: Linus Torvalds <torvalds@osdl.org>
Date: Tue, 13 Sep 2005 08:55:31 -0700 (PDT)

> >         /* Reset expansion ROM address decode enable */
> >         pci_read_config_word(ha->pdev, PCI_ROM_ADDRESS, &w);
> >         w &= ~PCI_ROM_ADDRESS_ENABLE;
> >         pci_write_config_word(ha->pdev, PCI_ROM_ADDRESS, w);
 ...
> So the above probably works fine, especially since it's just disabling the 
> ROM (ie we don't end up caring at all about the upper bits even if they 
> did get the wrong value). But it's definitely bad practice, and there are 
> probably cards (for which that driver is irrelevant, of course ;) where 
> doing something like the above might not work at all.

I think for consistency the above driver case should still be fixed,
however.  This way when people try to audit the tree for
PCI_ROM_ADDRESS config space accesses, they won't come across this
same instance again and again.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: 2.6.13.1 locks machine after some time, 2.6.12.5 work fine
  2005-09-13 17:23         ` Linus Torvalds
@ 2005-09-13 21:23           ` Norbert Kiesel
  2005-09-13 22:24             ` Chris Wright
  0 siblings, 1 reply; 18+ messages in thread
From: Norbert Kiesel @ 2005-09-13 21:23 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: chrisw, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 2217 bytes --]

On Tue, 2005-09-13 at 10:23 -0700, Linus Torvalds wrote:
> 
> On Tue, 13 Sep 2005, Norbert Kiesel wrote:
> > 
> > Ok, I applied the patch and I'm running it right now, so far so good.
> > Here is the the output of lspci from the patched 2.6.13.1 (not sure if a
> > diff to the unpatched 2.6.13.1 or the 2.6.12.5 would be more useful, so
> > I settled for no diff :-).
> 
> Yes, now it looks better, except for a lspci quirk. You have:
> 
> > 0000:00:10.0 RAID bus controller: Silicon Image, Inc. SiI 0649
> >		Ultra ATA/100 PCI to ATA Host Controller (rev 01)
> 
> and lspci reports:
> 
> > 	Expansion ROM at 40000000 [disabled] [size=512K]
> 
> where the "disabled" comes from the fact that it looks at the sysfs data 
> structures, and the resource is indeed marked as disabled there (because 
> nothing enabled it explicitly).
> 
> But then reading the HW registers, we see:
> 
> > 30: 01 00 00 40 60 00 00 00 00 00 00 00 0c 01 02 04
> 
> Ie now the ROM address value is 0x40000001, which means that as far as the 
> _hardware_ is concerned, the ROM is actually enabled.
> 
> That's because the cmd64x driver enabled the ROM by just writing the 
> enable bit directly, and never actually told the resource layer that it 
> had done so. Not a big deal - we've properly allocated the resource 
> region, so there's no overlap, there's just this strange disconnect 
> between what the hardware thinks and what the resource handling things.
> 
> Anyway, it all looks reasonable. Of course, exactly like with the hpt 
> driver, there doesn't seem to be any real _reason_ to enable the ROM in 
> the first place, and that code is #ifdef __i386__ anyway (so if there 
> _was_ a reason, it wouldn't work on anything else than an x86), so I 
> suspect we should just remove the ROM enable entirely.
> 
> But it really shouldn't matter - at least we now enable the ROM
> _correctly_, and I'm pretty sure (and certainly sincerely hope ;) that
> your lockup is gone.
> 
> 			Linus
> 

Hi,
system is stable again (I'm way beyond the point where I got lockups
before).  Thanks a bunch for the quick fix!  I'd recommend to include
this patch in 2.6.13.2.

Best,
  Norbert


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: 2.6.13.1 locks machine after some time, 2.6.12.5 work fine
  2005-09-13 21:23           ` Norbert Kiesel
@ 2005-09-13 22:24             ` Chris Wright
  0 siblings, 0 replies; 18+ messages in thread
From: Chris Wright @ 2005-09-13 22:24 UTC (permalink / raw)
  To: Norbert Kiesel; +Cc: Linus Torvalds, chrisw, linux-kernel

* Norbert Kiesel (nkiesel@tbdnetworks.com) wrote:
> system is stable again (I'm way beyond the point where I got lockups
> before).  Thanks a bunch for the quick fix!  I'd recommend to include
> this patch in 2.6.13.2.

Thanks, it's already been added to the queue.
-chris

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: 2.6.13.1 locks machine after some time, 2.6.12.5 work fine
  2005-09-13 20:22             ` David S. Miller
@ 2005-09-13 22:25               ` Adam Kropelin
  2005-09-13 23:11                 ` [PATCH] ibmphp: Use dword accessors for PCI_ROM_ADDRESS Adam Kropelin
                                   ` (3 more replies)
  0 siblings, 4 replies; 18+ messages in thread
From: Adam Kropelin @ 2005-09-13 22:25 UTC (permalink / raw)
  To: David S. Miller; +Cc: torvalds, nkiesel, linux-kernel

On Tue, Sep 13, 2005 at 01:22:13PM -0700, David S. Miller wrote:
> From: Linus Torvalds <torvalds@osdl.org>
> Date: Tue, 13 Sep 2005 08:55:31 -0700 (PDT)
> 
> > >         /* Reset expansion ROM address decode enable */
> > >         pci_read_config_word(ha->pdev, PCI_ROM_ADDRESS, &w);
> > >         w &= ~PCI_ROM_ADDRESS_ENABLE;
> > >         pci_write_config_word(ha->pdev, PCI_ROM_ADDRESS, w);
>  ...
> > So the above probably works fine, especially since it's just disabling the 
> > ROM (ie we don't end up caring at all about the upper bits even if they 
> > did get the wrong value). But it's definitely bad practice, and there are 
> > probably cards (for which that driver is irrelevant, of course ;) where 
> > doing something like the above might not work at all.
> 
> I think for consistency the above driver case should still be fixed,
> however.  This way when people try to audit the tree for
> PCI_ROM_ADDRESS config space accesses, they won't come across this
> same instance again and again.

Agreed. I'll follow up with patches for the relevant maintainers.

--Adam


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [PATCH] ibmphp: Use dword accessors for PCI_ROM_ADDRESS
  2005-09-13 22:25               ` Adam Kropelin
@ 2005-09-13 23:11                 ` Adam Kropelin
  2005-09-13 23:15                 ` [PATCH] pciehp: " Adam Kropelin
                                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 18+ messages in thread
From: Adam Kropelin @ 2005-09-13 23:11 UTC (permalink / raw)
  To: gregkh; +Cc: linux-hotplug-devel, linux-kernel

PCI_ROM_ADDRESS is a 32 bit register and as such should be accessed
using pci_bus_{read,write}_config_dword(). A recent audit of drivers/
turned up several cases of byte- and word-sized accesses. The harmful
ones were fixed by Linus directly. This patches up one of the remaining
harmless-but-still-wrong cases caught in the dragnet.

Signed-off-by: Adam Kropelin <akropel1@rochester.rr.com>

--- linux-2.6.14-rc1.orig/drivers/pci/hotplug/ibmphp_pci.c	2005-06-17 15:48:29.000000000 -0400
+++ linux-2.6.14-rc1/drivers/pci/hotplug/ibmphp_pci.c	2005-09-13 11:49:10.000000000 -0400
@@ -558,7 +558,7 @@
 	pci_bus_write_config_byte (ibmphp_pci_bus, devfn, PCI_CACHE_LINE_SIZE, CACHE);
 	pci_bus_write_config_byte (ibmphp_pci_bus, devfn, PCI_LATENCY_TIMER, LATENCY);
 
-	pci_bus_write_config_word (ibmphp_pci_bus, devfn, PCI_ROM_ADDRESS, 0x00L);
+	pci_bus_write_config_dword (ibmphp_pci_bus, devfn, PCI_ROM_ADDRESS, 0x00L);
 	pci_bus_write_config_word (ibmphp_pci_bus, devfn, PCI_COMMAND, DEVICEENABLE);
 
 	return 0;


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [PATCH] pciehp: Use dword accessors for PCI_ROM_ADDRESS
  2005-09-13 22:25               ` Adam Kropelin
  2005-09-13 23:11                 ` [PATCH] ibmphp: Use dword accessors for PCI_ROM_ADDRESS Adam Kropelin
@ 2005-09-13 23:15                 ` Adam Kropelin
  2005-09-13 23:17                 ` [PATCH] shpchp: " Adam Kropelin
  2005-09-13 23:20                 ` [PATCH] qla2xxx: " Adam Kropelin
  3 siblings, 0 replies; 18+ messages in thread
From: Adam Kropelin @ 2005-09-13 23:15 UTC (permalink / raw)
  To: kristen.c.accardi; +Cc: pcihpd-discuss, linux-kernel

PCI_ROM_ADDRESS is a 32 bit register and as such should be accessed
using pci_bus_{read,write}_config_dword(). A recent audit of drivers/
turned up several cases of byte- and word-sized accesses. The harmful
ones were fixed by Linus directly. This patches up one of the remaining
harmless-but-still-wrong cases caught in the dragnet.

Signed-off-by: Adam Kropelin <akropel1@rochester.rr.com>

--- linux-2.6.14-rc1.orig/drivers/pci/hotplug/pciehp_ctrl.c	2005-08-29 09:04:07.000000000 -0400
+++ linux-2.6.14-rc1/drivers/pci/hotplug/pciehp_ctrl.c	2005-09-13 11:57:31.000000000 -0400
@@ -2526,7 +2526,6 @@
 	int cloop;
 	u8 temp_byte;
 	u8 class_code;
-	u16 temp_word;
 	u32 rc;
 	u32 temp_register;
 	u32 base;
@@ -2682,8 +2681,7 @@
 		}		/* End of base register loop */
 
 		/* disable ROM base Address */
-		temp_word = 0x00L;
-		rc = pci_bus_write_config_word (pci_bus, devfn, PCI_ROM_ADDRESS, temp_word);
+		rc = pci_bus_write_config_dword (pci_bus, devfn, PCI_ROM_ADDRESS, 0x00);
 
 		/* Set HP parameters (Cache Line Size, Latency Timer) */
 		rc = pciehprm_set_hpp(ctrl, func, PCI_HEADER_TYPE_NORMAL);

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [PATCH] shpchp: Use dword accessors for PCI_ROM_ADDRESS
  2005-09-13 22:25               ` Adam Kropelin
  2005-09-13 23:11                 ` [PATCH] ibmphp: Use dword accessors for PCI_ROM_ADDRESS Adam Kropelin
  2005-09-13 23:15                 ` [PATCH] pciehp: " Adam Kropelin
@ 2005-09-13 23:17                 ` Adam Kropelin
  2005-09-13 23:20                 ` [PATCH] qla2xxx: " Adam Kropelin
  3 siblings, 0 replies; 18+ messages in thread
From: Adam Kropelin @ 2005-09-13 23:17 UTC (permalink / raw)
  To: kristen.c.accardi; +Cc: pcihpd-discuss, linux-kernel

PCI_ROM_ADDRESS is a 32 bit register and as such should be accessed
using pci_bus_{read,write}_config_dword(). A recent audit of drivers/
turned up several cases of byte- and word-sized accesses. The harmful
ones were fixed by Linus directly. This patches up one of the remaining
harmless-but-still-wrong cases caught in the dragnet.

Signed-off-by: Adam Kropelin <akropel1@rochester.rr.com>

--- linux-2.6.14-rc1.orig/drivers/pci/hotplug/shpchp_ctrl.c	2005-08-29 09:04:07.000000000 -0400
+++ linux-2.6.14-rc1/drivers/pci/hotplug/shpchp_ctrl.c	2005-09-13 11:50:34.000000000 -0400
@@ -2824,8 +2824,7 @@
 		}
 #endif
 		/* Disable ROM base Address */
-		temp_word = 0x00L;
-		rc = pci_bus_write_config_word (pci_bus, devfn, PCI_ROM_ADDRESS, temp_word);
+		rc = pci_bus_write_config_dword (pci_bus, devfn, PCI_ROM_ADDRESS, 0x00);
 
 		/* Set HP parameters (Cache Line Size, Latency Timer) */
 		rc = shpchprm_set_hpp(ctrl, func, PCI_HEADER_TYPE_NORMAL);

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [PATCH] qla2xxx: Use dword accessors for PCI_ROM_ADDRESS
  2005-09-13 22:25               ` Adam Kropelin
                                   ` (2 preceding siblings ...)
  2005-09-13 23:17                 ` [PATCH] shpchp: " Adam Kropelin
@ 2005-09-13 23:20                 ` Adam Kropelin
  3 siblings, 0 replies; 18+ messages in thread
From: Adam Kropelin @ 2005-09-13 23:20 UTC (permalink / raw)
  To: andrew.vasquez; +Cc: linux-scsi, linux-kernel

PCI_ROM_ADDRESS is a 32 bit register and as such should be accessed
using pci_bus_{read,write}_config_dword(). A recent audit of drivers/
turned up several cases of byte- and word-sized accesses. The harmful
ones were fixed by Linus directly. This patches up one of the remaining
harmless-but-still-wrong cases caught in the dragnet.

Signed-off-by: Adam Kropelin <akropel1@rochester.rr.com>

--- linux-2.6.14-rc1.orig/drivers/scsi/qla2xxx/qla_init.c	2005-09-13 11:59:16.000000000 -0400
+++ linux-2.6.14-rc1/drivers/scsi/qla2xxx/qla_init.c	2005-09-13 11:54:06.000000000 -0400
@@ -201,6 +201,7 @@
 qla2100_pci_config(scsi_qla_host_t *ha)
 {
 	uint16_t w, mwi;
+	uint32_t d;
 	unsigned long flags;
 	struct device_reg_2xxx __iomem *reg = &ha->iobase->isp;
 
@@ -215,9 +216,9 @@
 	pci_write_config_word(ha->pdev, PCI_COMMAND, w);
 
 	/* Reset expansion ROM address decode enable */
-	pci_read_config_word(ha->pdev, PCI_ROM_ADDRESS, &w);
-	w &= ~PCI_ROM_ADDRESS_ENABLE;
-	pci_write_config_word(ha->pdev, PCI_ROM_ADDRESS, w);
+	pci_read_config_dword(ha->pdev, PCI_ROM_ADDRESS, &d);
+	d &= ~PCI_ROM_ADDRESS_ENABLE;
+	pci_write_config_dword(ha->pdev, PCI_ROM_ADDRESS, d);
 
 	/* Get PCI bus information. */
 	spin_lock_irqsave(&ha->hardware_lock, flags);
@@ -237,6 +238,7 @@
 qla2300_pci_config(scsi_qla_host_t *ha)
 {
 	uint16_t	w, mwi;
+	uint32_t	d;
 	unsigned long   flags = 0;
 	uint32_t	cnt;
 	struct device_reg_2xxx __iomem *reg = &ha->iobase->isp;
@@ -302,9 +304,9 @@
 	pci_write_config_byte(ha->pdev, PCI_LATENCY_TIMER, 0x80);
 
 	/* Reset expansion ROM address decode enable */
-	pci_read_config_word(ha->pdev, PCI_ROM_ADDRESS, &w);
-	w &= ~PCI_ROM_ADDRESS_ENABLE;
-	pci_write_config_word(ha->pdev, PCI_ROM_ADDRESS, w);
+	pci_read_config_dword(ha->pdev, PCI_ROM_ADDRESS, &d);
+	d &= ~PCI_ROM_ADDRESS_ENABLE;
+	pci_write_config_dword(ha->pdev, PCI_ROM_ADDRESS, d);
 
 	/* Get PCI bus information. */
 	spin_lock_irqsave(&ha->hardware_lock, flags);
@@ -324,6 +326,7 @@
 qla24xx_pci_config(scsi_qla_host_t *ha)
 {
 	uint16_t w, mwi;
+	uint32_t d;
 	unsigned long flags = 0;
 	struct device_reg_24xx __iomem *reg = &ha->iobase->isp24;
 	int pcix_cmd_reg, pcie_dctl_reg;
@@ -366,9 +369,9 @@
 	}
 
 	/* Reset expansion ROM address decode enable */
-	pci_read_config_word(ha->pdev, PCI_ROM_ADDRESS, &w);
-	w &= ~PCI_ROM_ADDRESS_ENABLE;
-	pci_write_config_word(ha->pdev, PCI_ROM_ADDRESS, w);
+	pci_read_config_dword(ha->pdev, PCI_ROM_ADDRESS, &d);
+	d &= ~PCI_ROM_ADDRESS_ENABLE;
+	pci_write_config_dword(ha->pdev, PCI_ROM_ADDRESS, d);
 
 	/* Get PCI bus information. */
 	spin_lock_irqsave(&ha->hardware_lock, flags);

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2005-09-13 22:51 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-09-12 23:59 2.6.13.1 locks machine after some time, 2.6.12.5 work fine Norbert Kiesel
2005-09-13  3:00 ` Linus Torvalds
2005-09-13  3:38   ` Norbert Kiesel
2005-09-13 14:25     ` Linus Torvalds
2005-09-13 14:57       ` Linus Torvalds
2005-09-13 16:02         ` Adam Kropelin
2005-09-13 15:55           ` Linus Torvalds
2005-09-13 20:22             ` David S. Miller
2005-09-13 22:25               ` Adam Kropelin
2005-09-13 23:11                 ` [PATCH] ibmphp: Use dword accessors for PCI_ROM_ADDRESS Adam Kropelin
2005-09-13 23:15                 ` [PATCH] pciehp: " Adam Kropelin
2005-09-13 23:17                 ` [PATCH] shpchp: " Adam Kropelin
2005-09-13 23:20                 ` [PATCH] qla2xxx: " Adam Kropelin
2005-09-13 16:27       ` 2.6.13.1 locks machine after some time, 2.6.12.5 work fine Norbert Kiesel
2005-09-13 17:09       ` Norbert Kiesel
2005-09-13 17:23         ` Linus Torvalds
2005-09-13 21:23           ` Norbert Kiesel
2005-09-13 22:24             ` Chris Wright

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox