sunxi: improve A20 Lime2 upload speed
[openwrt/staging/chunkeey.git] / package / kernel / mac80211 / patches / 323-0005-brcmfmac-Handle-status-BRCMF_E_STATUS_ABORT-in-cfg80.patch
1 From b9472a2e3e452c414634b3ccb1ef6c4098878686 Mon Sep 17 00:00:00 2001
2 From: Hans de Goede <hdegoede@redhat.com>
3 Date: Wed, 8 Mar 2017 14:50:17 +0100
4 Subject: [PATCH] brcmfmac: Handle status == BRCMF_E_STATUS_ABORT in
5 cfg80211_escan_handler
6
7 If a scan gets aborted BRCMF_SCAN_STATUS_BUSY gets cleared in
8 cfg->scan_status and when we receive an abort event from the firmware
9 the BRCMF_SCAN_STATUS_BUSY check in the cfg80211_escan_handler will
10 trigger resulting in multiple errors getting logged.
11
12 Check for a status of BRCMF_E_STATUS_ABORT and in this case simply
13 cleanly exit the cfg80211_escan_handler. This also avoids a
14 BRCMF_E_STATUS_ABORT event arriving after a new scan has been started
15 causing the new scan to complete prematurely without any data.
16
17 Signed-off-by: Hans de Goede <hdegoede@redhat.com>
18 Acked-by: Arend van Spriel <arend.vanspriel@broadcom.com>
19 Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
20 ---
21 drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c | 3 +++
22 1 file changed, 3 insertions(+)
23
24 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
25 +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
26 @@ -3097,6 +3097,9 @@ brcmf_cfg80211_escan_handler(struct brcm
27
28 status = e->status;
29
30 + if (status == BRCMF_E_STATUS_ABORT)
31 + goto exit;
32 +
33 if (!test_bit(BRCMF_SCAN_STATUS_BUSY, &cfg->scan_status)) {
34 brcmf_err("scan not ready, bsscfgidx=%d\n", ifp->bsscfgidx);
35 return -EPERM;