Message ID | 20181008200357.10819-1-daniel@zonque.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | libertas: call into generic suspend code before turning off power | expand |
On 8 October 2018 at 22:03, Daniel Mack <daniel@zonque.org> wrote: > 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> BTW, if you need this to reach 4.19 I have already queued some other mmc fixes so I can take this as well, if it helps. I need and ack of course. Kind regards Uffe > --- > If possible, this should go in for 4.19. > > drivers/net/wireless/marvell/libertas/if_sdio.c | 4 ++++ > 1 file changed, 4 insertions(+) > > 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); > } > -- > 2.17.1 >
Ulf Hansson <ulf.hansson@linaro.org> writes: > On 8 October 2018 at 22:03, Daniel Mack <daniel@zonque.org> wrote: >> 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> > > BTW, if you need this to reach 4.19 I have already queued some other > mmc fixes so I can take this as well, if it helps. I need and ack of > course. I'm not planning to send anything to 4.19 anymore and this is so simple that hopefully it cause any conflicts with -next patches, so feel free to do that: Acked-by: Kalle Valo <kvalo@codeaurora.org>
On 9 October 2018 at 15:36, Kalle Valo <kvalo@codeaurora.org> wrote: > Ulf Hansson <ulf.hansson@linaro.org> writes: > >> On 8 October 2018 at 22:03, Daniel Mack <daniel@zonque.org> wrote: >>> 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> >> >> BTW, if you need this to reach 4.19 I have already queued some other >> mmc fixes so I can take this as well, if it helps. I need and ack of >> course. > > I'm not planning to send anything to 4.19 anymore and this is so simple > that hopefully it cause any conflicts with -next patches, so feel free > to do that: > > Acked-by: Kalle Valo <kvalo@codeaurora.org> Applied for fixes, thanks! Kind regards Uffe
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); }
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> --- If possible, this should go in for 4.19. drivers/net/wireless/marvell/libertas/if_sdio.c | 4 ++++ 1 file changed, 4 insertions(+)