Tony Lindgren <tony@xxxxxxxxxxx> wrote: > We can have pm_runtime_get_sync() return 1, and we can have > pm_runtime_put_sync() return -EBUSY. See rpm_suspend() and > rpm_resume() for more information. > > Fix the issue by returning 0 from wl12xx_sdio_power_on() on success. > And use pm_runtime_put() instead of pm_runtime_put_sync() for > wl12xx_sdio_power_off(), then the MMC subsystem will idle the bus > when suitable. > > Otherwise wlcore can sometimes get confused and may report bogus > errors and WLAN connection can fail. > > Note that while wlcore checks the return value for wl1271_power_on(), > the return value is ignored for wl1271_power_off(). Let's fix them > both though to avoid further confusion in the future. > > Fixes: 60f36637bbbd ("wlcore: sdio: allow pm to handle sdio power") > Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> Patch applied to wireless-drivers-next.git, thanks. 728a9dc61f13 wlcore: sdio: Fix flakey SDIO runtime PM handling -- https://patchwork.kernel.org/patch/10407569/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches