From: "Rafael J. Wysocki" <rjw@sisk.pl>
To: Parag Warudkar <parag.lkml@gmail.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
Matt Carlson <mcarlson@broadcom.com>,
"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
"David S. Miller" <davem@davemloft.net>,
Andrew Morton <akpm@linux-foundation.org>
Subject: Re: 2.6.29-rc3: tg3 dead after resume
Date: Sat, 31 Jan 2009 00:59:16 +0100 [thread overview]
Message-ID: <200901310059.17746.rjw@sisk.pl> (raw)
In-Reply-To: <alpine.DEB.2.00.0901301826490.5027@parag-desktop>
On Saturday 31 January 2009, Parag Warudkar wrote:
>
> On Fri, 30 Jan 2009, Linus Torvalds wrote:
>
> >
> > Because we obviously have two people who say that their tg3 suspend/resume
> > works fine, so the tg3 driver is obviously not _totally_ broken. So I'm
> > wondering if there is something funny in between the CPU and the tg3, like
> > a hotplug bridge that needs magic to wake up properly.
> >
> > Because clearly the PCI config space addresses are working fine, but the
> > thing is, while PCI config space accesses are routed by the device number
> > (and the bridges notion of secondary bridging), the PCI memory space
> > routing is based on address. So a PCI bridge can easily get one right (in
> > fact, it's really hard to get config space accesses wrong without the
> > bridges being _totally_ screwed up), while not routing the other at all.
> >
> > So just do that "lspci -vvxxx" for the whole box, before and after, and
> > send us the "before" and the "diff -u before after" thing, and maybe that
> > shows something interesting. Because some bridge chip being confused would
> > also explain why a total re-init of the whole tg3 chip by a driver unload
> > and reload doesn't seem to help.
>
> 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 :)
>
> Any how here is the pre-suspend lspci -vvxxx output followed by diff -u -
>
[--snip--]
I think this is what we're looking for:
> @@ -472,7 +472,7 @@
> f0: 00 00 00 00 00 00 00 00 80 0f 01 00 00 00 00 00
>
> 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
and the PCIe port driver may be at fault.
Can you try to remove the pci_save_state(dev) from pcie_port_suspend_late()
and see if that helps?
Rafael
next prev parent reply other threads:[~2009-01-31 0:00 UTC|newest]
Thread overview: 77+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-01-29 0:14 2.6.29-rc3: tg3 dead after resume Parag Warudkar
2009-01-29 1:09 ` Linus Torvalds
2009-01-29 1:49 ` Parag Warudkar
2009-01-29 2:10 ` Linus Torvalds
2009-01-29 2:19 ` Matt Carlson
2009-01-29 22:22 ` Rafael J. Wysocki
2009-01-29 18:42 ` Matt Carlson
2009-01-29 22:06 ` Parag Warudkar
2009-01-29 22:22 ` Matt Carlson
2009-01-29 22:35 ` Parag Warudkar
2009-01-29 23:10 ` Rafael J. Wysocki
2009-01-30 18:40 ` Matt Carlson
2009-01-30 22:50 ` Parag Warudkar
2009-01-30 23:06 ` Linus Torvalds
2009-01-30 23:33 ` Linus Torvalds
2009-01-30 23:45 ` Parag Warudkar
2009-01-30 23:57 ` Linus Torvalds
2009-01-30 23:59 ` Rafael J. Wysocki [this message]
2009-01-31 0:28 ` Parag Warudkar
2009-01-31 0:38 ` Rafael J. Wysocki
2009-01-31 0:44 ` Ingo Molnar
2009-01-31 0:47 ` Rafael J. Wysocki
2009-01-31 1:21 ` Parag Warudkar
2009-01-31 1:37 ` Rafael J. Wysocki
2009-01-31 1:42 ` Parag Warudkar
2009-02-03 9:29 ` Rafael J. Wysocki
2009-02-03 21:27 ` Parag Warudkar
2009-02-03 22:15 ` Rafael J. Wysocki
2009-02-03 23:50 ` WARNING: at drivers/pci/pci-driver.c:368 Parag Warudkar
2009-02-04 0:10 ` Rafael J. Wysocki
2009-02-04 0:17 ` Parag Warudkar
2009-02-04 0:19 ` Parag Warudkar
2009-02-04 0:38 ` 2.6.29-rc3: tg3 dead after resume Parag Warudkar
2009-02-04 0:41 ` Rafael J. Wysocki
2009-02-07 3:00 ` Linus Torvalds
2009-02-07 18:03 ` Jesse Barnes
2009-01-31 1:46 ` Linus Torvalds
2009-01-31 1:54 ` Parag Warudkar
2009-01-31 2:25 ` Linus Torvalds
2009-01-31 2:40 ` Parag Warudkar
2009-01-31 18:51 ` Rafael J. Wysocki
2009-01-31 2:19 ` Linus Torvalds
2009-01-31 20:45 ` Rafael J. Wysocki
2009-01-31 1:41 ` Linus Torvalds
2009-01-31 21:08 ` Rafael J. Wysocki
2009-01-31 21:42 ` What should PCI core do during suspend-resume? (was: Re: 2.6.29-rc3: tg3 dead after resume) Rafael J. Wysocki
2009-01-31 21:59 ` Linus Torvalds
2009-01-31 23:08 ` Rafael J. Wysocki
2009-01-31 23:27 ` Linus Torvalds
2009-01-31 23:39 ` Linus Torvalds
2009-02-01 0:36 ` Rafael J. Wysocki
2009-02-01 1:06 ` Linus Torvalds
2009-02-01 1:13 ` Linus Torvalds
2009-02-01 1:20 ` Arjan van de Ven
2009-02-01 1:24 ` Rafael J. Wysocki
2009-02-07 9:21 ` Pavel Machek
2009-01-31 21:47 ` 2.6.29-rc3: tg3 dead after resume Linus Torvalds
2009-01-31 22:46 ` Rafael J. Wysocki
2009-01-31 23:01 ` Linus Torvalds
2009-02-01 0:11 ` Rafael J. Wysocki
2009-02-01 0:32 ` Linus Torvalds
2009-02-01 0:41 ` Rafael J. Wysocki
2009-02-01 0:51 ` Linus Torvalds
2009-02-07 3:27 ` Benjamin Herrenschmidt
2009-02-07 3:26 ` Benjamin Herrenschmidt
2009-01-29 23:03 ` Rafael J. Wysocki
2009-01-29 23:41 ` Matt Carlson
2009-01-30 0:10 ` Rafael J. Wysocki
2009-01-30 22:31 ` Parag Warudkar
2009-01-30 22:36 ` Linus Torvalds
2009-01-30 22:54 ` Rafael J. Wysocki
2009-01-30 23:07 ` Linus Torvalds
2009-01-30 23:13 ` Parag Warudkar
2009-01-30 23:31 ` Rafael J. Wysocki
2009-01-30 23:51 ` Linus Torvalds
2009-01-31 0:07 ` Rafael J. Wysocki
2009-01-31 0:34 ` Rafael J. Wysocki
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200901310059.17746.rjw@sisk.pl \
--to=rjw@sisk.pl \
--cc=akpm@linux-foundation.org \
--cc=davem@davemloft.net \
--cc=linux-kernel@vger.kernel.org \
--cc=mcarlson@broadcom.com \
--cc=netdev@vger.kernel.org \
--cc=parag.lkml@gmail.com \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.