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: 7444a80929 ("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>
This commit is contained in:
Daniel Mack 2018-10-08 22:03:57 +02:00 committed by Ulf Hansson
parent 41591b38f5
commit 4f666675cd
1 changed files with 4 additions and 0 deletions

View File

@ -1317,6 +1317,10 @@ static int if_sdio_suspend(struct device *dev)
if (priv->wol_criteria == EHS_REMOVE_WAKEUP) { if (priv->wol_criteria == EHS_REMOVE_WAKEUP) {
dev_info(dev, "Suspend without wake params -- powering down card\n"); dev_info(dev, "Suspend without wake params -- powering down card\n");
if (priv->fw_ready) { if (priv->fw_ready) {
ret = lbs_suspend(priv);
if (ret)
return ret;
priv->power_up_on_resume = true; priv->power_up_on_resume = true;
if_sdio_power_off(card); if_sdio_power_off(card);
} }