Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1614280 > unrolled thread

[RFC PATCH] Revert "mwifiex: fix system hang problem after resume"

Started byBrian Norris <briannorris@chromium.org>
First post2017-03-31 22:30 +0200
Last post2017-04-06 06:40 +0200
Articles 3 — 3 participants

Back to article view | Back to linux.kernel


Contents

  [RFC PATCH] Revert "mwifiex: fix system hang problem after resume" Brian Norris <briannorris@chromium.org> - 2017-03-31 22:30 +0200
    Re: [RFC PATCH] Revert "mwifiex: fix system hang problem after  resume" Dmitry Torokhov <dmitry.torokhov@gmail.com> - 2017-04-01 18:30 +0200
    Re: [RFC PATCH] Revert "mwifiex: fix system hang problem after resume" amit karwar <amitkarwar@gmail.com> - 2017-04-06 06:40 +0200

#1614280 — [RFC PATCH] Revert "mwifiex: fix system hang problem after resume"

FromBrian Norris <briannorris@chromium.org>
Date2017-03-31 22:30 +0200
Subject[RFC PATCH] Revert "mwifiex: fix system hang problem after resume"
Message-ID<trblg-Za-7@gated-at.bofh.it>
This reverts commit 437322ea2a36d112e20aa7282c869bf924b3a836.

This above-mentioned "fix" does not actually do anything to prevent a
race condition. It simply papers over it so that the issue doesn't
appear.

If this is a real problem, it should be explained better than the above
commit does, and an alternative, non-racy solution should be found.

For further reason to revert this: there's ot reason we can't try
resetting the card when it's *actually* stuck in host-sleep mode. So
instead, this is unnecessarily creating scenarios where we can't recover
Wifi.

Cc: Amitkumar Karwar <akarwar@marvell.com>
Signed-off-by: Brian Norris <briannorris@chromium.org>
---
Amit, please take a look. AIUI, your "fix" is wrong, and quite racy. If you
still think it's needed, can you please propose an alternative? Or at least
explain more why this is needed? Thanks.

 drivers/net/wireless/marvell/mwifiex/init.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/wireless/marvell/mwifiex/init.c b/drivers/net/wireless/marvell/mwifiex/init.c
index 756948385b60..0dab77b526de 100644
--- a/drivers/net/wireless/marvell/mwifiex/init.c
+++ b/drivers/net/wireless/marvell/mwifiex/init.c
@@ -60,7 +60,7 @@ static void wakeup_timer_fn(unsigned long data)
 	adapter->hw_status = MWIFIEX_HW_STATUS_RESET;
 	mwifiex_cancel_all_pending_cmd(adapter);
 
-	if (adapter->if_ops.card_reset && !adapter->hs_activated)
+	if (adapter->if_ops.card_reset)
 		adapter->if_ops.card_reset(adapter);
 }
 
-- 
2.12.2.564.g063fe858b8-goog

[toc] | [next] | [standalone]


#1614552 — Re: [RFC PATCH] Revert "mwifiex: fix system hang problem after resume"

FromDmitry Torokhov <dmitry.torokhov@gmail.com>
Date2017-04-01 18:30 +0200
SubjectRe: [RFC PATCH] Revert "mwifiex: fix system hang problem after resume"
Message-ID<tru4x-5au-1@gated-at.bofh.it>
In reply to#1614280
On Fri, Mar 31, 2017 at 01:21:36PM -0700, Brian Norris wrote:
> This reverts commit 437322ea2a36d112e20aa7282c869bf924b3a836.
> 
> This above-mentioned "fix" does not actually do anything to prevent a
> race condition. It simply papers over it so that the issue doesn't
> appear.
> 
> If this is a real problem, it should be explained better than the above
> commit does, and an alternative, non-racy solution should be found.
> 
> For further reason to revert this: there's ot reason we can't try
> resetting the card when it's *actually* stuck in host-sleep mode. So
> instead, this is unnecessarily creating scenarios where we can't recover
> Wifi.
> 
> Cc: Amitkumar Karwar <akarwar@marvell.com>
> Signed-off-by: Brian Norris <briannorris@chromium.org>

FWIW:

Reviewed-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

> ---
> Amit, please take a look. AIUI, your "fix" is wrong, and quite racy. If you
> still think it's needed, can you please propose an alternative? Or at least
> explain more why this is needed? Thanks.
> 
>  drivers/net/wireless/marvell/mwifiex/init.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/net/wireless/marvell/mwifiex/init.c b/drivers/net/wireless/marvell/mwifiex/init.c
> index 756948385b60..0dab77b526de 100644
> --- a/drivers/net/wireless/marvell/mwifiex/init.c
> +++ b/drivers/net/wireless/marvell/mwifiex/init.c
> @@ -60,7 +60,7 @@ static void wakeup_timer_fn(unsigned long data)
>  	adapter->hw_status = MWIFIEX_HW_STATUS_RESET;
>  	mwifiex_cancel_all_pending_cmd(adapter);
>  
> -	if (adapter->if_ops.card_reset && !adapter->hs_activated)
> +	if (adapter->if_ops.card_reset)
>  		adapter->if_ops.card_reset(adapter);
>  }
>  
> -- 
> 2.12.2.564.g063fe858b8-goog
> 

-- 
Dmitry

[toc] | [prev] | [next] | [standalone]


#1617498

Fromamit karwar <amitkarwar@gmail.com>
Date2017-04-06 06:40 +0200
Message-ID<tt7nb-3Jy-1@gated-at.bofh.it>
In reply to#1614280
On Sat, Apr 1, 2017 at 1:51 AM, Brian Norris <briannorris@chromium.org> wrote:
> This reverts commit 437322ea2a36d112e20aa7282c869bf924b3a836.
>
> This above-mentioned "fix" does not actually do anything to prevent a
> race condition. It simply papers over it so that the issue doesn't
> appear.
>
> If this is a real problem, it should be explained better than the above
> commit does, and an alternative, non-racy solution should be found.
>
> For further reason to revert this: there's ot reason we can't try
> resetting the card when it's *actually* stuck in host-sleep mode. So
> instead, this is unnecessarily creating scenarios where we can't recover
> Wifi.
>
> Cc: Amitkumar Karwar <akarwar@marvell.com>
> Signed-off-by: Brian Norris <briannorris@chromium.org>
> ---
> Amit, please take a look. AIUI, your "fix" is wrong, and quite racy. If you
> still think it's needed, can you please propose an alternative? Or at least
> explain more why this is needed? Thanks.
>

I agree. Fix just covers the issue. We need to investigate why system
hangs when card reset is attempted in host sleep activated scenario.

Acked-by: Amitkumar Karwar <amitkarwar@gmail.com>

Regards,
Amitkumar Karwar

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web