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-mmc" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to