Search Linux Wireless

Re: [PATCH v2] libertas: fix suspend and resume for SDIO connected cards

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.

I have some additional related changes in mind for the libertas SDIO
driver, however let me post patches for us to discuss around instead.

I currently have access to such hardware, so I can test patches :)


Thanks,
Daniel



[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux