2018-10-08 20:04:06

by Daniel Mack

[permalink] [raw]
Subject: [PATCH] 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 <[email protected]>
---
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



2018-10-09 07:44:21

by Ulf Hansson

[permalink] [raw]
Subject: Re: [PATCH] libertas: call into generic suspend code before turning off power

On 8 October 2018 at 22:03, Daniel Mack <[email protected]> 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 <[email protected]>

Reviewed-by: Ulf Hansson <[email protected]>

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
>

2018-10-09 13:36:37

by Kalle Valo

[permalink] [raw]
Subject: Re: [PATCH] libertas: call into generic suspend code before turning off power

Ulf Hansson <[email protected]> writes:

> On 8 October 2018 at 22:03, Daniel Mack <[email protected]> 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 <[email protected]>
>
> Reviewed-by: Ulf Hansson <[email protected]>
>
> 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 <[email protected]>

--
Kalle Valo

2018-10-10 12:04:58

by Ulf Hansson

[permalink] [raw]
Subject: Re: [PATCH] libertas: call into generic suspend code before turning off power

On 9 October 2018 at 15:36, Kalle Valo <[email protected]> wrote:
> Ulf Hansson <[email protected]> writes:
>
>> On 8 October 2018 at 22:03, Daniel Mack <[email protected]> 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 <[email protected]>
>>
>> Reviewed-by: Ulf Hansson <[email protected]>
>>
>> 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 <[email protected]>

Applied for fixes, thanks!

Kind regards
Uffe