[linux-pm] Recent "Run the driver callback directly" patch breaks libertas suspend

NeilBrown neilb at suse.de
Sun Mar 25 09:38:49 UTC 2012


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).

 (I'm testing with 3.3)

Thanks,
NeilBrown
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 828 bytes
Desc: not available
URL: <http://lists.linuxfoundation.org/pipermail/linux-pm/attachments/20120325/d9462be2/attachment.sig>


More information about the linux-pm mailing list