From baijiaju1990 at 163.com  Sun Oct  8 06:06:09 2017
From: baijiaju1990 at 163.com (Jia-Ju Bai)
Date: Sun,  8 Oct 2017 21:06:09 +0800
Subject: [PATCH] wcn36xx: Remove unnecessary rcu_read_unlock in
 wcn36xx_bss_info_changed
Message-ID: <1507467969-24016-1-git-send-email-baijiaju1990@163.com>

No rcu_read_lock is called, but rcu_read_unlock is still called.
Thus rcu_read_unlock should be removed.

Signed-off-by: Jia-Ju Bai <baijiaju1990 at 163.com>
---
 drivers/net/wireless/ath/wcn36xx/main.c |    1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/net/wireless/ath/wcn36xx/main.c b/drivers/net/wireless/ath/wcn36xx/main.c
index 35bd50b..b83f01d 100644
--- a/drivers/net/wireless/ath/wcn36xx/main.c
+++ b/drivers/net/wireless/ath/wcn36xx/main.c
@@ -812,7 +812,6 @@ static void wcn36xx_bss_info_changed(struct ieee80211_hw *hw,
 			if (!sta) {
 				wcn36xx_err("sta %pM is not found\n",
 					      bss_conf->bssid);
-				rcu_read_unlock();
 				goto out;
 			}
 			sta_priv = wcn36xx_sta_to_priv(sta);
-- 
1.7.9.5




From bjorn.andersson at linaro.org  Tue Oct 10 23:54:45 2017
From: bjorn.andersson at linaro.org (Bjorn Andersson)
Date: Tue, 10 Oct 2017 23:54:45 -0700
Subject: [PATCH] wcn36xx: Remove unnecessary rcu_read_unlock in
 wcn36xx_bss_info_changed
In-Reply-To: <1507467969-24016-1-git-send-email-baijiaju1990@163.com>
References: <1507467969-24016-1-git-send-email-baijiaju1990@163.com>
Message-ID: <20171011065445.GP1165@minitux>

On Sun 08 Oct 06:06 PDT 2017, Jia-Ju Bai wrote:

> No rcu_read_lock is called, but rcu_read_unlock is still called.
> Thus rcu_read_unlock should be removed.
> 

Thanks, not sure how I could miss that one. Kalle can you please include
this in a v4.14-rc pull request?


:

Fixes: 39efc7cc7ccf ("wcn36xx: Introduce mutual exclusion of fw configuration")

> Signed-off-by: Jia-Ju Bai <baijiaju1990 at 163.com>

Acked-by: Bjorn Andersson <bjorn.andersson at linaro.org>

Regards,
Bjorn

> ---
>  drivers/net/wireless/ath/wcn36xx/main.c |    1 -
>  1 file changed, 1 deletion(-)
> 
> diff --git a/drivers/net/wireless/ath/wcn36xx/main.c b/drivers/net/wireless/ath/wcn36xx/main.c
> index 35bd50b..b83f01d 100644
> --- a/drivers/net/wireless/ath/wcn36xx/main.c
> +++ b/drivers/net/wireless/ath/wcn36xx/main.c
> @@ -812,7 +812,6 @@ static void wcn36xx_bss_info_changed(struct ieee80211_hw *hw,
>  			if (!sta) {
>  				wcn36xx_err("sta %pM is not found\n",
>  					      bss_conf->bssid);
> -				rcu_read_unlock();
>  				goto out;
>  			}
>  			sta_priv = wcn36xx_sta_to_priv(sta);
> -- 
> 1.7.9.5
> 
> 
> 
> _______________________________________________
> wcn36xx mailing list
> wcn36xx at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/wcn36xx


From kvalo at qca.qualcomm.com  Wed Oct 11 01:28:42 2017
From: kvalo at qca.qualcomm.com (Kalle Valo)
Date: Wed, 11 Oct 2017 08:28:42 +0000
Subject: [PATCH] wcn36xx: Remove unnecessary rcu_read_unlock in
 wcn36xx_bss_info_changed
In-Reply-To: <20171011065445.GP1165@minitux> (Bjorn Andersson's message of
 "Tue, 10 Oct 2017 23:54:45 -0700")
References: <1507467969-24016-1-git-send-email-baijiaju1990@163.com>
 <20171011065445.GP1165@minitux>
Message-ID: <87wp42qe9y.fsf@kamboji.qca.qualcomm.com>

Bjorn Andersson <bjorn.andersson at linaro.org> writes:

> On Sun 08 Oct 06:06 PDT 2017, Jia-Ju Bai wrote:
>
>> No rcu_read_lock is called, but rcu_read_unlock is still called.
>> Thus rcu_read_unlock should be removed.
>> 
>
> Thanks, not sure how I could miss that one. Kalle can you please include
> this in a v4.14-rc pull request?
>
>
> :
>
> Fixes: 39efc7cc7ccf ("wcn36xx: Introduce mutual exclusion of fw configuration")
>
>> Signed-off-by: Jia-Ju Bai <baijiaju1990 at 163.com>
>
> Acked-by: Bjorn Andersson <bjorn.andersson at linaro.org>

Ok, I'll queue this to 4.14.

-- 
Kalle Valo

From kvalo at qca.qualcomm.com  Fri Oct 27 07:00:41 2017
From: kvalo at qca.qualcomm.com (Kalle Valo)
Date: Fri, 27 Oct 2017 16:00:41 +0200
Subject: wcn36xx: Remove unnecessary rcu_read_unlock in
 wcn36xx_bss_info_changed
In-Reply-To: <1507467969-24016-1-git-send-email-baijiaju1990@163.com>
References: <1507467969-24016-1-git-send-email-baijiaju1990@163.com>
Message-ID: <884b0ccc727549b28df7f3705081f67a@euamsexm01a.eu.qualcomm.com>

Jia-Ju Bai <baijiaju1990 at 163.com> wrote:

> No rcu_read_lock is called, but rcu_read_unlock is still called.
> Thus rcu_read_unlock should be removed.
> 
> Signed-off-by: Jia-Ju Bai <baijiaju1990 at 163.com>
> Acked-by: Bjorn Andersson <bjorn.andersson at linaro.org>
> Signed-off-by: Kalle Valo <kvalo at qca.qualcomm.com>

Patch applied to ath-current branch of ath.git, thanks.

c0d5adc35c0b wcn36xx: Remove unnecessary rcu_read_unlock in wcn36xx_bss_info_changed

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

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



From damien.riegel at savoirfairelinux.com  Fri Oct 27 08:55:09 2017
From: damien.riegel at savoirfairelinux.com (Damien Riegel)
Date: Fri, 27 Oct 2017 11:55:09 -0400
Subject: wcn36xx: connection monitoring issue
Message-ID: <20171027155509.bbtcmvxyerlovzsq@workotop.localdomain>

Hi,


I'm working on a board derived from the DragonBoard-410c (apq8016 +
wcn3620) and noticed an issue with WiFi connection monitoring. When I
get out of the range of the access point, the device stays associated,
no matter how far I go or how long I wait.

The chip on this board is the WCN3620, and the driver sets
IEEE80211_HW_CONNECTION_MONITOR at drivers/net/wireless/ath/wcn36xx/main.c:1127, 
so the hardware is supposed to do the monitoring, but it looks like it
doesn't. If I comment out this flag (snippet at the end of the email),
the correct behaviour is observed.

Has anyone else noticed that issue?


Thanks,
Damien

diff --git a/drivers/net/wireless/ath/wcn36xx/main.c b/drivers/net/wireless/ath/wcn36xx/main.c
index 35bd50bcbbd5..2aa1643d15bf 100644
--- a/drivers/net/wireless/ath/wcn36xx/main.c
+++ b/drivers/net/wireless/ath/wcn36xx/main.c
@@ -1124,7 +1124,6 @@ static int wcn36xx_init_ieee80211(struct wcn36xx *wcn)

        ieee80211_hw_set(wcn->hw, TIMING_BEACON_ONLY);
        ieee80211_hw_set(wcn->hw, AMPDU_AGGREGATION);
-       ieee80211_hw_set(wcn->hw, CONNECTION_MONITOR);
        ieee80211_hw_set(wcn->hw, SUPPORTS_PS);
        ieee80211_hw_set(wcn->hw, SIGNAL_DBM);
        ieee80211_hw_set(wcn->hw, HAS_RATE_CONTROL);


