mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-20 22:23:27 +00:00
36 lines
1.4 KiB
Diff
36 lines
1.4 KiB
Diff
|
From b9472a2e3e452c414634b3ccb1ef6c4098878686 Mon Sep 17 00:00:00 2001
|
||
|
From: Hans de Goede <hdegoede@redhat.com>
|
||
|
Date: Wed, 8 Mar 2017 14:50:17 +0100
|
||
|
Subject: [PATCH] brcmfmac: Handle status == BRCMF_E_STATUS_ABORT in
|
||
|
cfg80211_escan_handler
|
||
|
|
||
|
If a scan gets aborted BRCMF_SCAN_STATUS_BUSY gets cleared in
|
||
|
cfg->scan_status and when we receive an abort event from the firmware
|
||
|
the BRCMF_SCAN_STATUS_BUSY check in the cfg80211_escan_handler will
|
||
|
trigger resulting in multiple errors getting logged.
|
||
|
|
||
|
Check for a status of BRCMF_E_STATUS_ABORT and in this case simply
|
||
|
cleanly exit the cfg80211_escan_handler. This also avoids a
|
||
|
BRCMF_E_STATUS_ABORT event arriving after a new scan has been started
|
||
|
causing the new scan to complete prematurely without any data.
|
||
|
|
||
|
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||
|
Acked-by: Arend van Spriel <arend.vanspriel@broadcom.com>
|
||
|
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
||
|
---
|
||
|
drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c | 3 +++
|
||
|
1 file changed, 3 insertions(+)
|
||
|
|
||
|
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
|
||
|
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
|
||
|
@@ -3097,6 +3097,9 @@ brcmf_cfg80211_escan_handler(struct brcm
|
||
|
|
||
|
status = e->status;
|
||
|
|
||
|
+ if (status == BRCMF_E_STATUS_ABORT)
|
||
|
+ goto exit;
|
||
|
+
|
||
|
if (!test_bit(BRCMF_SCAN_STATUS_BUSY, &cfg->scan_status)) {
|
||
|
brcmf_err("scan not ready, bsscfgidx=%d\n", ifp->bsscfgidx);
|
||
|
return -EPERM;
|