Commit ef8596e1 authored by Hante Meuleman's avatar Hante Meuleman Committed by John W. Linville

brcmfmac: On scan timeout do send received results.

Increase driver scan timeout from 8 to 10 seconds and report results
to cfg80211. Without this patch the already received results were
dropped on driver timeout.
Reviewed-by: default avatarArend Van Spriel <arend@broadcom.com>
Reviewed-by: default avatarFranky (Zhenhui) Lin <frankyl@broadcom.com>
Reviewed-by: default avatarPieter-Paul Giesberts <pieterpg@broadcom.com>
Reviewed-by: default avatarDaniel (Deognyoun) Kim <dekim@broadcom.com>
Signed-off-by: default avatarHante Meuleman <meuleman@broadcom.com>
Signed-off-by: default avatarArend van Spriel <arend@broadcom.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 5fb9b1b9
...@@ -2426,7 +2426,7 @@ static s32 brcmf_inform_bss(struct brcmf_cfg80211_info *cfg) ...@@ -2426,7 +2426,7 @@ static s32 brcmf_inform_bss(struct brcmf_cfg80211_info *cfg)
s32 err = 0; s32 err = 0;
int i; int i;
bss_list = cfg->bss_list; bss_list = (struct brcmf_scan_results *)cfg->escan_info.escan_buf;
if (bss_list->count != 0 && if (bss_list->count != 0 &&
bss_list->version != BRCMF_BSS_INFO_VERSION) { bss_list->version != BRCMF_BSS_INFO_VERSION) {
brcmf_err("Version %d != WL_BSS_INFO_VERSION\n", brcmf_err("Version %d != WL_BSS_INFO_VERSION\n",
...@@ -2602,6 +2602,7 @@ static void brcmf_cfg80211_escan_timeout_worker(struct work_struct *work) ...@@ -2602,6 +2602,7 @@ static void brcmf_cfg80211_escan_timeout_worker(struct work_struct *work)
container_of(work, struct brcmf_cfg80211_info, container_of(work, struct brcmf_cfg80211_info,
escan_timeout_work); escan_timeout_work);
brcmf_inform_bss(cfg);
brcmf_notify_escan_complete(cfg, cfg->escan_info.ifp, true, true); brcmf_notify_escan_complete(cfg, cfg->escan_info.ifp, true, true);
} }
...@@ -2740,12 +2741,9 @@ brcmf_cfg80211_escan_handler(struct brcmf_if *ifp, ...@@ -2740,12 +2741,9 @@ brcmf_cfg80211_escan_handler(struct brcmf_if *ifp,
if (brcmf_p2p_scan_finding_common_channel(cfg, NULL)) if (brcmf_p2p_scan_finding_common_channel(cfg, NULL))
goto exit; goto exit;
if (cfg->scan_request) { if (cfg->scan_request) {
cfg->bss_list = (struct brcmf_scan_results *)
cfg->escan_info.escan_buf;
brcmf_inform_bss(cfg); brcmf_inform_bss(cfg);
aborted = status != BRCMF_E_STATUS_SUCCESS; aborted = status != BRCMF_E_STATUS_SUCCESS;
brcmf_notify_escan_complete(cfg, ifp, aborted, brcmf_notify_escan_complete(cfg, ifp, aborted, false);
false);
} else } else
brcmf_dbg(SCAN, "Ignored scan complete result 0x%x\n", brcmf_dbg(SCAN, "Ignored scan complete result 0x%x\n",
status); status);
......
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
#define WL_SCAN_PASSIVE_TIME 120 #define WL_SCAN_PASSIVE_TIME 120
#define WL_ESCAN_BUF_SIZE (1024 * 64) #define WL_ESCAN_BUF_SIZE (1024 * 64)
#define WL_ESCAN_TIMER_INTERVAL_MS 8000 /* E-Scan timeout */ #define WL_ESCAN_TIMER_INTERVAL_MS 10000 /* E-Scan timeout */
#define WL_ESCAN_ACTION_START 1 #define WL_ESCAN_ACTION_START 1
#define WL_ESCAN_ACTION_CONTINUE 2 #define WL_ESCAN_ACTION_CONTINUE 2
...@@ -371,7 +371,6 @@ struct brcmf_cfg80211_info { ...@@ -371,7 +371,6 @@ struct brcmf_cfg80211_info {
struct brcmf_btcoex_info *btcoex; struct brcmf_btcoex_info *btcoex;
struct cfg80211_scan_request *scan_request; struct cfg80211_scan_request *scan_request;
struct mutex usr_sync; struct mutex usr_sync;
struct brcmf_scan_results *bss_list;
struct brcmf_cfg80211_scan_req scan_req_int; struct brcmf_cfg80211_scan_req scan_req_int;
struct wl_cfg80211_bss_info *bss_info; struct wl_cfg80211_bss_info *bss_info;
struct brcmf_cfg80211_ie ie; struct brcmf_cfg80211_ie ie;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment