public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Linus Torvalds <torvalds@linux-foundation.org>
To: "Rafael J. Wysocki" <rjw@sisk.pl>
Cc: Parag Warudkar <parag.lkml@gmail.com>,
	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 16:32:31 -0800 (PST)	[thread overview]
Message-ID: <alpine.LFD.2.00.0901311623520.3067@localhost.localdomain> (raw)
In-Reply-To: <200902010111.08433.rjw@sisk.pl>



On Sun, 1 Feb 2009, Rafael J. Wysocki wrote:
> > The problems happen on purely the suspend path. How the f*ck do you know 
> > that the drivers behind the bridge don't do everything at 'suspend_late' 
> > time, and expect to be working up until that time?
> 
> DMA from suspend_late?  Come on.

Rafael. Stop being a total idiot.

Read what I wrote.

I'm saying that the driver may not do anything at all at suspend() time, 
and leaves everything until suspend_late. Then, at suspend_late(), it 
finally really shuts down.

That's actually a very reasonable thing to do in some circumstances. It 
simplifies everything, in particular all interrupt handling, since the 
device is now fully live all the way while interrupts can happen.

For a USB host controller, for example, it really could make sense to do 
that - just leave all the core host controller stuff running, and the only 
thing the "suspend()" callback does is to send the commands to the actual 
devices, it doesn't necessarily touch the host controller itself at all.

Then, at suspend_late time, you just clear the "running" bit in the 
controller (and perhaps not even that - because you want to still push 
things out for debugging). End result: you never actually had to shut 
anything down at all, and you could (for example) still run a USB serial 
port console all the way to shutdown.

And yes, I wanted to do basically exactly that when I was debugging some 
issues a year or two ago.

See? The device and driver may be totally alive over a ->suspend() call. 
And that means that the bridge CANNOT KNOW that it's ok to shut down DMA. 
Because DMA may be the only way the device communicates (again: USB 
actually works that way).

So dammit, just admit that you were wrong, instead of continually sending 
these _idiotic_ replies. That "turn off bus mastering" was bogus and 
idiotic, and had no real cause. Ok to just admit it already?

		Linus

  reply	other threads:[~2009-02-01  0:32 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
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 [this message]
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=alpine.LFD.2.00.0901311623520.3067@localhost.localdomain \
    --to=torvalds@linux-foundation.org \
    --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=rjw@sisk.pl \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox