[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <201203252310.40689.rjw@sisk.pl>
Date: Sun, 25 Mar 2012 23:10:40 +0200
From: "Rafael J. Wysocki" <rjw@...k.pl>
To: Alan Stern <stern@...land.harvard.edu>
Cc: NeilBrown <neilb@...e.de>, linux-pm@...ts.linux-foundation.org,
Chris Ball <cjb@...top.org>, linux-mmc@...r.kernel.org,
lkml <linux-kernel@...r.kernel.org>
Subject: Re: [linux-pm] Recent "Run the driver callback directly" patch breaks libertas suspend
On Sunday, March 25, 2012, Alan Stern wrote:
> On Sun, 25 Mar 2012, NeilBrown wrote:
>
> > Hi Rafael,
> >
> > Your recent patch:
> > commit 35cd133c
> > PM: Run the driver callback directly if the subsystem one is not there
> >
> > breaks suspend for my libertas wifi and probably other SDIO devices.
> >
> > SDIO (and possible MMC in general) has a protocol where the suspend
> > method can return -ENOSYS and this means "There is no point in suspending,
> > just turn me off".
> >
> > The device itself "mmc1:0001" (I think) doesn't have any bus etc 'suspend'
> > function so the new code call the device's suspend function which returns
> > ENOSYS and the suspend fails.
> >
> > The previous code ignores the device as there is no bus suspend, and when it
> > gets to suspend the ancestor - which for me is omap_hsmmc.1, it calls the
> > device suspend function catches the ENOSYS, and turns it off.
> >
> > I suspect just reverting it isn't the right long term solution, however I
> > can confirm that it works for me for now.
> >
> > I'm happy to try any alternate fixes you would like to suggest (but I cannot
> > promise how quickly I will get the testing done).
>
> With a little restructuring, this might be a good application for
> pm_runtime_no_callbacks().
That won't cover system suspend, though.
Thanks,
Rafael
--
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