summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/marvell/libertas
diff options
context:
space:
mode:
authorDaniel Mack <daniel@zonque.org>2018-10-08 22:03:57 +0200
committerUlf Hansson <ulf.hansson@linaro.org>2018-10-10 14:01:50 +0200
commit4f666675cdff0b986195413215eb062b7da6586f (patch)
tree098c48aa15d8994a40411d4b24a3a9a3f8941952 /drivers/net/wireless/marvell/libertas
parentmmc: block: avoid multiblock reads for the last sector in SPI mode (diff)
downloadlinux-4f666675cdff0b986195413215eb062b7da6586f.tar.xz
linux-4f666675cdff0b986195413215eb062b7da6586f.zip
libertas: call into generic suspend code before turning off power
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>
Diffstat (limited to 'drivers/net/wireless/marvell/libertas')
-rw-r--r--drivers/net/wireless/marvell/libertas/if_sdio.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/wireless/marvell/libertas/if_sdio.c b/drivers/net/wireless/marvell/libertas/if_sdio.c
index 43743c26c071..39bf85d0ade0 100644
--- a/drivers/net/wireless/marvell/libertas/if_sdio.c
+++ b/drivers/net/wireless/marvell/libertas/if_sdio.c
@@ -1317,6 +1317,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);
}