linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] brcmfmac: add setting carrier state ON for successful roaming
@ 2017-08-07  8:16 Wright Feng
  2017-08-07 12:43 ` Arend van Spriel
  2017-08-08 11:52 ` Kalle Valo
  0 siblings, 2 replies; 3+ messages in thread
From: Wright Feng @ 2017-08-07  8:16 UTC (permalink / raw)
  To: arend.vanspriel, franky.lin, hante.meuleman, kvalo, chi-hsien.lin
  Cc: linux-wireless, brcm80211-dev-list.pdl, wright.feng, Chung-Hsien Hsu

From: Chung-Hsien Hsu <stanley.hsu@cypress.com>

After association, ping is not working when sweeping the channel at the
AP side. It is caused by having incorrect carrier state (OFF) for the STA
in successful roaming. This patch sets the carrier state ON for the case.

Signed-off-by: Chung-Hsien Hsu <stanley.hsu@cypress.com>
---
 drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
index 617199c..71f18b9 100644
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
@@ -5552,10 +5552,13 @@ static s32 brcmf_get_assoc_ies(struct brcmf_cfg80211_info *cfg,
 	u32 status = e->status;
 
 	if (event == BRCMF_E_ROAM && status == BRCMF_E_STATUS_SUCCESS) {
-		if (test_bit(BRCMF_VIF_STATUS_CONNECTED, &ifp->vif->sme_state))
+		if (test_bit(BRCMF_VIF_STATUS_CONNECTED,
+			     &ifp->vif->sme_state)) {
 			brcmf_bss_roaming_done(cfg, ifp->ndev, e);
-		else
+		} else {
 			brcmf_bss_connect_done(cfg, ifp->ndev, e, true);
+			brcmf_net_setcarrier(ifp, true);
+		}
 	}
 
 	return 0;
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] brcmfmac: add setting carrier state ON for successful roaming
  2017-08-07  8:16 [PATCH] brcmfmac: add setting carrier state ON for successful roaming Wright Feng
@ 2017-08-07 12:43 ` Arend van Spriel
  2017-08-08 11:52 ` Kalle Valo
  1 sibling, 0 replies; 3+ messages in thread
From: Arend van Spriel @ 2017-08-07 12:43 UTC (permalink / raw)
  To: Wright Feng, franky.lin, hante.meuleman, kvalo, chi-hsien.lin
  Cc: linux-wireless, brcm80211-dev-list.pdl, Chung-Hsien Hsu

On 8/7/2017 10:16 AM, Wright Feng wrote:
> From: Chung-Hsien Hsu <stanley.hsu@cypress.com>
>
> After association, ping is not working when sweeping the channel at the
> AP side. It is caused by having incorrect carrier state (OFF) for the STA
> in successful roaming. This patch sets the carrier state ON for the case.

This seems a specific scenario where the initial connect attempt by the 
host actually results in the firmware roaming, ie. switching to another 
AP, before completing the connection. Still it is needed here so ...

Acked-by: Arend van Spriel <arend.vanspriel@broadcom.com>
> Signed-off-by: Chung-Hsien Hsu <stanley.hsu@cypress.com>
> ---
>   drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c | 7 +++++--
>   1 file changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
> index 617199c..71f18b9 100644
> --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
> +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
> @@ -5552,10 +5552,13 @@ static s32 brcmf_get_assoc_ies(struct brcmf_cfg80211_info *cfg,
>   	u32 status = e->status;
>
>   	if (event == BRCMF_E_ROAM && status == BRCMF_E_STATUS_SUCCESS) {
> -		if (test_bit(BRCMF_VIF_STATUS_CONNECTED, &ifp->vif->sme_state))
> +		if (test_bit(BRCMF_VIF_STATUS_CONNECTED,
> +			     &ifp->vif->sme_state)) {
>   			brcmf_bss_roaming_done(cfg, ifp->ndev, e);
> -		else
> +		} else {
>   			brcmf_bss_connect_done(cfg, ifp->ndev, e, true);
> +			brcmf_net_setcarrier(ifp, true);
> +		}
>   	}
>
>   	return 0;
>

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: brcmfmac: add setting carrier state ON for successful roaming
  2017-08-07  8:16 [PATCH] brcmfmac: add setting carrier state ON for successful roaming Wright Feng
  2017-08-07 12:43 ` Arend van Spriel
@ 2017-08-08 11:52 ` Kalle Valo
  1 sibling, 0 replies; 3+ messages in thread
From: Kalle Valo @ 2017-08-08 11:52 UTC (permalink / raw)
  To: Wright Feng
  Cc: arend.vanspriel, franky.lin, hante.meuleman, chi-hsien.lin,
	linux-wireless, brcm80211-dev-list.pdl, wright.feng,
	Chung-Hsien Hsu

Wright Feng <wright.feng@cypress.com> wrote:

> From: Chung-Hsien Hsu <stanley.hsu@cypress.com>
> 
> After association, ping is not working when sweeping the channel at the
> AP side. It is caused by having incorrect carrier state (OFF) for the STA
> in successful roaming. This patch sets the carrier state ON for the case.
> 
> Signed-off-by: Chung-Hsien Hsu <stanley.hsu@cypress.com>
> Acked-by: Arend van Spriel <arend.vanspriel@broadcom.com>

Patch applied to wireless-drivers-next.git, thanks.

8b943e36e24a brcmfmac: add setting carrier state ON for successful roaming

-- 
https://patchwork.kernel.org/patch/9884669/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2017-08-08 11:52 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-08-07  8:16 [PATCH] brcmfmac: add setting carrier state ON for successful roaming Wright Feng
2017-08-07 12:43 ` Arend van Spriel
2017-08-08 11:52 ` Kalle Valo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).