Daniel Mack <daniel@xxxxxxxxxx> writes: > On Friday, June 29, 2018 05:39 PM, Ulf Hansson wrote: >> On 27 June 2018 at 20:58, Daniel Mack <daniel@xxxxxxxxxx> 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(). >>> >>> Signed-off-by: Daniel Mack <daniel@xxxxxxxxxx> >>> Cc: Ulf Hansson <ulf.hansson@xxxxxxxxxx> >>> Cc: Chris Ball <chris@xxxxxxxxxx> >> >> Looks good to me! Should be a candidate for stable as well!? > > Thanks! > > Yeah, it should probably get a > > Fixes: 573185cc7e64 ("mmc: core: Invoke sdio func driver's PM > callbacks from the sdio bus") > > as well. So I'll queue this for wireless-drivers-next and add: Fixes: 573185cc7e64 ("mmc: core: Invoke sdio func driver's PM callbacks from the sdio bus") Cc: <stable@xxxxxxxxxxxxxxx Ok? -- Kalle Valo