Thread (73 messages) 73 messages, 9 authors, 2009-02-07

Re: 2.6.29-rc3: tg3 dead after resume

From: Linus Torvalds <torvalds@linux-foundation.org>
Date: 2009-01-30 23:58:14
Also in: lkml


On Fri, 30 Jan 2009, Parag Warudkar wrote:
Totally worth having this problem from a "getting an opportunity to 
understand" standpoint. This confirms my long standing suspicion that bugs 
in Linux kernel are merely a handiwork of few clever people to get more 
people to understand and contribute :)
Heh. I wish. But if that's the end result, we've done something good.
Any how  here is the pre-suspend lspci -vvxxx output followed by diff -u -
Bingo.
quoted hunk ↗ jump to hunk
diff -u lspci-pre-suspend lspci-post-suspend
--- lspci-pre-suspend	2009-01-30 18:19:50.752275695 -0500
+++ lspci-post-suspend	2009-01-30 18:20:52.629779008 -0500
 
 00:1c.0 PCI bridge: Intel Corporation 631xESB/632xESB/3100 Chipset PCI Express Root Port 1 (rev 09)
-	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx+
+	Control: I/O- Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx+
 	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
 	Latency: 0, Cache Line Size: 64 bytes
 	Bus: primary=00, secondary=0e, subordinate=0e, sec-latency=0
We've disabled IO and MEM behind this bridge - the one that bridges to 
secondary bus 0x0e.

And your tg3 device? It's at 0000:0e:00.0. Yeah. Exactly the bus that 
we've disabled IO and MEM for.

In other words, it was never your tg3 suspend/resume that was buggy. It 
was the suspend/resume for the PCI-E port driver. In fact, I think it's 
_exactly_ the issue I just emailed out about.

I bet Rafael can whip up a patch in a minute. I have too much of a 
headache right now to look at my screen for a while, so I'll take a break.

			Linus
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help