Daniel Mack <[email protected]> wrote:

> Prior to commit 573185cc7e64 ("mmc: core: Invoke sdio func driver's PM
> callbacks from the sdio bus"), the MMC core used to call into the power
> management functions of SDIO clients itself and removed the card if the
> return code was non-zero. IOW, the mmc handled errors gracefully and didn't
> upchain them to the pm core.
> 
> Since this change, the mmc core relies on generic power management
> functions which treat all errors as a reason to cancel the suspend
> immediately. This causes suspend attempts to fail when the libertas
> driver is loaded.
> 
> To fix this, power down the card explicitly in if_sdio_suspend() when we
> know we're about to lose power and return success. Also set a flag in these
> cases, and power up the card again in if_sdio_resume().
> 
> Fixes: 573185cc7e64 ("mmc: core: Invoke sdio func driver's PM callbacks from 
> the sdio bus")
> Cc: <[email protected]>
> Signed-off-by: Daniel Mack <[email protected]>
> Reviewed-by: Chris Ball <[email protected]>
> Reviewed-by: Ulf Hansson <[email protected]>

Patch applied to wireless-drivers-next.git, thanks.

7444a8092906 libertas: fix suspend and resume for SDIO connected cards

-- 
https://patchwork.kernel.org/patch/10492407/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches

Reply via email to