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: Arend Van Spriel <arend@broadcom.com> Reviewed-by: Franky (Zhenhui) Lin <frankyl@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: Daniel (Deognyoun) Kim <dekim@broadcom.com> Signed-off-by: Hante Meuleman <meuleman@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
committed by
John W. Linville
parent
5fb9b1b949
commit
ef8596e1f1
@@ -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)
|
|||||||
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,
|
|||||||
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 @@
|
|||||||
#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 {
|
|||||||
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;
|
||||||
|
|||||||
Reference in New Issue
Block a user