提交 1687eee2 编写于 作者: A Arend van Spriel 提交者: John W. Linville

brcmfmac: allow scanning to be suppressed in the driver

During the DHCP protocol exchange it is benificial to suppress
scan requests which may decrease time to complete DHCP protocol.
Reviewed-by: NHante Meuleman <meuleman@broadcom.com>
Reviewed-by: NPieter-Paul Giesberts <pieterpg@broadcom.com>
Signed-off-by: NArend van Spriel <arend@broadcom.com>
Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
上级 176f0e84
...@@ -856,6 +856,11 @@ brcmf_cfg80211_escan(struct wiphy *wiphy, struct brcmf_cfg80211_vif *vif, ...@@ -856,6 +856,11 @@ brcmf_cfg80211_escan(struct wiphy *wiphy, struct brcmf_cfg80211_vif *vif,
cfg->scan_status); cfg->scan_status);
return -EAGAIN; return -EAGAIN;
} }
if (test_bit(BRCMF_SCAN_STATUS_SUPPRESS, &cfg->scan_status)) {
brcmf_err("Scanning suppressed: status (%lu)\n",
cfg->scan_status);
return -EAGAIN;
}
if (test_bit(BRCMF_VIF_STATUS_CONNECTING, &ifp->vif->sme_state)) { if (test_bit(BRCMF_VIF_STATUS_CONNECTING, &ifp->vif->sme_state)) {
brcmf_err("Connecting: status (%lu)\n", ifp->vif->sme_state); brcmf_err("Connecting: status (%lu)\n", ifp->vif->sme_state);
return -EAGAIN; return -EAGAIN;
...@@ -3017,6 +3022,11 @@ brcmf_cfg80211_sched_scan_start(struct wiphy *wiphy, ...@@ -3017,6 +3022,11 @@ brcmf_cfg80211_sched_scan_start(struct wiphy *wiphy,
brcmf_err("Scanning already: status (%lu)\n", cfg->scan_status); brcmf_err("Scanning already: status (%lu)\n", cfg->scan_status);
return -EAGAIN; return -EAGAIN;
} }
if (test_bit(BRCMF_SCAN_STATUS_SUPPRESS, &cfg->scan_status)) {
brcmf_err("Scanning suppressed: status (%lu)\n",
cfg->scan_status);
return -EAGAIN;
}
if (!request->n_ssids || !request->n_match_sets) { if (!request->n_ssids || !request->n_match_sets) {
brcmf_err("Invalid sched scan req!! n_ssids:%d\n", brcmf_err("Invalid sched scan req!! n_ssids:%d\n",
......
...@@ -77,14 +77,16 @@ ...@@ -77,14 +77,16 @@
/** /**
* enum brcmf_scan_status - dongle scan status * enum brcmf_scan_status - scan engine status
* *
* @BRCMF_SCAN_STATUS_BUSY: scanning in progress on dongle. * @BRCMF_SCAN_STATUS_BUSY: scanning in progress on dongle.
* @BRCMF_SCAN_STATUS_ABORT: scan being aborted on dongle. * @BRCMF_SCAN_STATUS_ABORT: scan being aborted on dongle.
* @BRCMF_SCAN_STATUS_SUPPRESS: scanning is suppressed in driver.
*/ */
enum brcmf_scan_status { enum brcmf_scan_status {
BRCMF_SCAN_STATUS_BUSY, BRCMF_SCAN_STATUS_BUSY,
BRCMF_SCAN_STATUS_ABORT, BRCMF_SCAN_STATUS_ABORT,
BRCMF_SCAN_STATUS_SUPPRESS,
}; };
/** /**
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册