[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20070529052314.GA15067@kroah.com>
Date: Mon, 28 May 2007 22:23:14 -0700
From: Greg KH <greg@...ah.com>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: Pavel Machek <pavel@....cz>, Chris Wright <chrisw@...s-sol.org>,
Matthew Garrett <mjg59@...f.ucam.org>,
Theodore Ts'o <tytso@....edu>,
Zwane Mwaikambo <zwane@....linux.org.uk>,
Justin Forbes <jmforbes@...uxtx.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Chris Wedgwood <reviews@...cw.f00f.org>,
Romano Giannetti <romanol@...omillas.es>,
Randy Dunlap <rdunlap@...otime.net>,
"Rafael J. Wysocki" <rjw@...k.pl>,
Michael Krufky <mkrufky@...uxtv.org>,
Chuck Ebbert <cebbert@...hat.com>,
Dave Jones <davej@...hat.com>, akpm@...ux-foundation.org,
Chuck Wolber <chuckw@...ntumlinux.com>, stable@...nel.org,
alan@...rguk.ukuu.org.uk
Subject: Re: [stable] pcmcia resume 60 second hang. Re: [patch 00/69]
-stable review
On Mon, May 28, 2007 at 09:53:50AM -0700, Linus Torvalds wrote:
>
> Before we suspend a device, we call the subsystem that that device has
> been registered with. Ie, we have code like this:
>
> if (dev->class && dev->class->suspend)
> error = dev->class->suspend(dev, state);
>
> which was very much designed so that individual devices wouldn't have to
> always know - if the upper layer devices for that class can handle these
> things, they should.
>
> Do people actually _do_ this, right now? No. But we do actually have the
> infrastructure, and I think we have one or two classes that actually do
> use it (at least the "rfkill_class" has a suspend member, dunno how well
> this model actually works).
>
> I think Greg had some patches to make network drivers use this, for
> example. Network drivers right now all end up doing stuff that really
> doesn't belong in the driver at all when they suspend, and the
> infrastructure _should_ just do it for them (ie do all the _network_
> related stuff, as opposed to the actual hardware-related stuff).
Yes, I started to work on it, as it is the correct thing to do, but got
sidetracked, sorry :(
> (Examples of things that we probably _should_ do for network devices on a
> class level:
>
> suspend:
> netif_poll_disable()
> if (netif_running(dev))
> dev->stop(dev);
>
> resume:
> if (netif_running(dev))
> dev->start(dev);
> netif_poll_enable(dev);
>
> or something similar).
I'll try to hack something together later this week along this line and
see how it works...
thanks,
greg k-h
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists