diff options
author | Daniel Mack <daniel@zonque.org> | 2018-10-08 23:03:57 +0300 |
---|---|---|
committer | Ben Hutchings <ben@decadent.org.uk> | 2018-12-17 01:09:40 +0300 |
commit | 727e211b3665c51f5a160b8bbbff6f2ad0771cb2 (patch) | |
tree | ddb9bc20fbea907c8cc56dbe74fd676705ccb596 /drivers/net/wireless | |
parent | 739f44a8a3f28901fee088cf59c4054e20cecda9 (diff) | |
download | linux-727e211b3665c51f5a160b8bbbff6f2ad0771cb2.tar.xz |
libertas: call into generic suspend code before turning off power
commit 4f666675cdff0b986195413215eb062b7da6586f upstream.
When powering down a SDIO connected card during suspend, make sure to call
into the generic lbs_suspend() function before pulling the plug. This will
make sure the card is successfully deregistered from the system to avoid
communication to the card starving out.
Fixes: 7444a8092906 ("libertas: fix suspend and resume for SDIO connected cards")
Signed-off-by: Daniel Mack <daniel@zonque.org>
Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org>
Acked-by: Kalle Valo <kvalo@codeaurora.org>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Diffstat (limited to 'drivers/net/wireless')
-rw-r--r-- | drivers/net/wireless/libertas/if_sdio.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/wireless/libertas/if_sdio.c b/drivers/net/wireless/libertas/if_sdio.c index 97e7e0687741..bee1e67afafe 100644 --- a/drivers/net/wireless/libertas/if_sdio.c +++ b/drivers/net/wireless/libertas/if_sdio.c @@ -1369,6 +1369,10 @@ static int if_sdio_suspend(struct device *dev) if (priv->wol_criteria == EHS_REMOVE_WAKEUP) { dev_info(dev, "Suspend without wake params -- powering down card\n"); if (priv->fw_ready) { + ret = lbs_suspend(priv); + if (ret) + return ret; + priv->power_up_on_resume = true; if_sdio_power_off(card); } |