Commit 62ccb2e6 authored by Ramesh Rangavittal's avatar Ramesh Rangavittal Committed by Kalle Valo
Browse files

brcmfmac: Fix authentication latency caused by OBSS stats survey



Auto Channel Select feature of HostAP uses dump_survey to fetch
OBSS statistics. When the device is in the middle of an authentication
sequence or just at the end of authentication completion, running
dump_survey would trigger a channel change. The channel change in-turn
can cause packet loss, resulting in authentication delay. With this change,
dump_survey won't be run when authentication or association is in progress,
hence resolving the issue.

Signed-off-by: default avatarRamesh Rangavittal <ramesh.rangavittal@infineon.com>
Signed-off-by: default avatarChung-Hsien Hsu <chung-hsien.hsu@infineon.com>
Signed-off-by: default avatarChi-hsien Lin <chi-hsien.lin@infineon.com>
Signed-off-by: default avatarIan Lin <ian.lin@infineon.com>
Signed-off-by: default avatarKalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20220929012527.4152-5-ian.lin@infineon.com
parent 25076fe2
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -7697,6 +7697,12 @@ brcmf_cfg80211_dump_survey(struct wiphy *wiphy, struct net_device *ndev,

	brcmf_dbg(TRACE, "Enter: channel idx=%d\n", idx);

	/* Do not run survey when VIF in CONNECTING / CONNECTED states */
	if ((test_bit(BRCMF_VIF_STATUS_CONNECTING, &ifp->vif->sme_state)) ||
	    (test_bit(BRCMF_VIF_STATUS_CONNECTED, &ifp->vif->sme_state))) {
		return -EBUSY;
	}

	band = wiphy->bands[NL80211_BAND_2GHZ];
	if (band && idx >= band->n_channels) {
		idx -= band->n_channels;