lkml.org 
[lkml]   [2012]   [Mar]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [linux-pm] Recent "Run the driver callback directly" patch breaks libertas suspend
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().

Alan Stern



\
 
 \ /
  Last update: 2012-03-25 17:21    [W:0.671 / U:0.056 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site