|
@@ -0,0 +1,131 @@
|
|
|
+From 8c6efda22f5f9f73fc948f517424466be01ae84d Mon Sep 17 00:00:00 2001
|
|
|
+From: Arend Van Spriel <[email protected]>
|
|
|
+Date: Wed, 8 Nov 2017 14:36:33 +0100
|
|
|
+Subject: [PATCH] brcmfmac: cleanup brcmf_cfg80211_escan() function
|
|
|
+
|
|
|
+The function brcmf_cfg80211_escan() was always called with a non-null
|
|
|
+request parameter and null pointer for this_ssid parameter. Clean up
|
|
|
+the function removing the dead code path.
|
|
|
+
|
|
|
+Reviewed-by: Hante Meuleman <[email protected]>
|
|
|
+Reviewed-by: Pieter-Paul Giesberts <[email protected]>
|
|
|
+Reviewed-by: Franky Lin <[email protected]>
|
|
|
+Signed-off-by: Arend van Spriel <[email protected]>
|
|
|
+Signed-off-by: Kalle Valo <[email protected]>
|
|
|
+---
|
|
|
+ .../broadcom/brcm80211/brcmfmac/cfg80211.c | 76 ++++------------------
|
|
|
+ 1 file changed, 11 insertions(+), 65 deletions(-)
|
|
|
+
|
|
|
+--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
|
|
|
++++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
|
|
|
+@@ -1072,18 +1072,10 @@ brcmf_do_escan(struct brcmf_if *ifp, str
|
|
|
+
|
|
|
+ static s32
|
|
|
+ brcmf_cfg80211_escan(struct wiphy *wiphy, struct brcmf_cfg80211_vif *vif,
|
|
|
+- struct cfg80211_scan_request *request,
|
|
|
+- struct cfg80211_ssid *this_ssid)
|
|
|
++ struct cfg80211_scan_request *request)
|
|
|
+ {
|
|
|
+- struct brcmf_if *ifp = vif->ifp;
|
|
|
+ struct brcmf_cfg80211_info *cfg = wiphy_to_cfg(wiphy);
|
|
|
+- struct cfg80211_ssid *ssids;
|
|
|
+- u32 passive_scan;
|
|
|
+- bool escan_req;
|
|
|
+- bool spec_scan;
|
|
|
+ s32 err;
|
|
|
+- struct brcmf_ssid_le ssid_le;
|
|
|
+- u32 SSID_len;
|
|
|
+
|
|
|
+ brcmf_dbg(SCAN, "START ESCAN\n");
|
|
|
+
|
|
|
+@@ -1101,8 +1093,8 @@ brcmf_cfg80211_escan(struct wiphy *wiphy
|
|
|
+ cfg->scan_status);
|
|
|
+ return -EAGAIN;
|
|
|
+ }
|
|
|
+- if (test_bit(BRCMF_VIF_STATUS_CONNECTING, &ifp->vif->sme_state)) {
|
|
|
+- brcmf_err("Connecting: status (%lu)\n", ifp->vif->sme_state);
|
|
|
++ if (test_bit(BRCMF_VIF_STATUS_CONNECTING, &vif->sme_state)) {
|
|
|
++ brcmf_err("Connecting: status (%lu)\n", vif->sme_state);
|
|
|
+ return -EAGAIN;
|
|
|
+ }
|
|
|
+
|
|
|
+@@ -1110,63 +1102,17 @@ brcmf_cfg80211_escan(struct wiphy *wiphy
|
|
|
+ if (vif == cfg->p2p.bss_idx[P2PAPI_BSSCFG_DEVICE].vif)
|
|
|
+ vif = cfg->p2p.bss_idx[P2PAPI_BSSCFG_PRIMARY].vif;
|
|
|
+
|
|
|
+- escan_req = false;
|
|
|
+- if (request) {
|
|
|
+- /* scan bss */
|
|
|
+- ssids = request->ssids;
|
|
|
+- escan_req = true;
|
|
|
+- } else {
|
|
|
+- /* scan in ibss */
|
|
|
+- /* we don't do escan in ibss */
|
|
|
+- ssids = this_ssid;
|
|
|
+- }
|
|
|
+-
|
|
|
+ cfg->scan_request = request;
|
|
|
+ set_bit(BRCMF_SCAN_STATUS_BUSY, &cfg->scan_status);
|
|
|
+- if (escan_req) {
|
|
|
+- cfg->escan_info.run = brcmf_run_escan;
|
|
|
+- err = brcmf_p2p_scan_prep(wiphy, request, vif);
|
|
|
+- if (err)
|
|
|
+- goto scan_out;
|
|
|
+-
|
|
|
+- err = brcmf_do_escan(vif->ifp, request);
|
|
|
+- if (err)
|
|
|
+- goto scan_out;
|
|
|
+- } else {
|
|
|
+- brcmf_dbg(SCAN, "ssid \"%s\", ssid_len (%d)\n",
|
|
|
+- ssids->ssid, ssids->ssid_len);
|
|
|
+- memset(&ssid_le, 0, sizeof(ssid_le));
|
|
|
+- SSID_len = min_t(u8, sizeof(ssid_le.SSID), ssids->ssid_len);
|
|
|
+- ssid_le.SSID_len = cpu_to_le32(0);
|
|
|
+- spec_scan = false;
|
|
|
+- if (SSID_len) {
|
|
|
+- memcpy(ssid_le.SSID, ssids->ssid, SSID_len);
|
|
|
+- ssid_le.SSID_len = cpu_to_le32(SSID_len);
|
|
|
+- spec_scan = true;
|
|
|
+- } else
|
|
|
+- brcmf_dbg(SCAN, "Broadcast scan\n");
|
|
|
+
|
|
|
+- passive_scan = cfg->active_scan ? 0 : 1;
|
|
|
+- err = brcmf_fil_cmd_int_set(ifp, BRCMF_C_SET_PASSIVE_SCAN,
|
|
|
+- passive_scan);
|
|
|
+- if (err) {
|
|
|
+- brcmf_err("WLC_SET_PASSIVE_SCAN error (%d)\n", err);
|
|
|
+- goto scan_out;
|
|
|
+- }
|
|
|
+- brcmf_scan_config_mpc(ifp, 0);
|
|
|
+- err = brcmf_fil_cmd_data_set(ifp, BRCMF_C_SCAN, &ssid_le,
|
|
|
+- sizeof(ssid_le));
|
|
|
+- if (err) {
|
|
|
+- if (err == -EBUSY)
|
|
|
+- brcmf_dbg(INFO, "BUSY: scan for \"%s\" canceled\n",
|
|
|
+- ssid_le.SSID);
|
|
|
+- else
|
|
|
+- brcmf_err("WLC_SCAN error (%d)\n", err);
|
|
|
++ cfg->escan_info.run = brcmf_run_escan;
|
|
|
++ err = brcmf_p2p_scan_prep(wiphy, request, vif);
|
|
|
++ if (err)
|
|
|
++ goto scan_out;
|
|
|
+
|
|
|
+- brcmf_scan_config_mpc(ifp, 1);
|
|
|
+- goto scan_out;
|
|
|
+- }
|
|
|
+- }
|
|
|
++ err = brcmf_do_escan(vif->ifp, request);
|
|
|
++ if (err)
|
|
|
++ goto scan_out;
|
|
|
+
|
|
|
+ /* Arm scan timeout timer */
|
|
|
+ mod_timer(&cfg->escan_timeout, jiffies +
|
|
|
+@@ -1191,7 +1137,7 @@ brcmf_cfg80211_scan(struct wiphy *wiphy,
|
|
|
+ if (!check_vif_up(vif))
|
|
|
+ return -EIO;
|
|
|
+
|
|
|
+- err = brcmf_cfg80211_escan(wiphy, vif, request, NULL);
|
|
|
++ err = brcmf_cfg80211_escan(wiphy, vif, request);
|
|
|
+
|
|
|
+ if (err)
|
|
|
+ brcmf_err("scan error (%d)\n", err);
|