aboutsummaryrefslogtreecommitdiffstats
path: root/package/mac80211/patches/862-brcmsmac-remove-brcms_bss_cfg-BSS.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/mac80211/patches/862-brcmsmac-remove-brcms_bss_cfg-BSS.patch')
-rw-r--r--package/mac80211/patches/862-brcmsmac-remove-brcms_bss_cfg-BSS.patch77
1 files changed, 77 insertions, 0 deletions
diff --git a/package/mac80211/patches/862-brcmsmac-remove-brcms_bss_cfg-BSS.patch b/package/mac80211/patches/862-brcmsmac-remove-brcms_bss_cfg-BSS.patch
new file mode 100644
index 0000000000..a7ffcf6a78
--- /dev/null
+++ b/package/mac80211/patches/862-brcmsmac-remove-brcms_bss_cfg-BSS.patch
@@ -0,0 +1,77 @@
+--- a/drivers/net/wireless/brcm80211/brcmsmac/main.c
++++ b/drivers/net/wireless/brcm80211/brcmsmac/main.c
+@@ -1071,7 +1071,7 @@ brcms_b_txstatus(struct brcms_hardware *
+
+ static void brcms_c_tbtt(struct brcms_c_info *wlc)
+ {
+- if (!wlc->bsscfg->BSS)
++ if (wlc->bsscfg->type == BRCMS_TYPE_ADHOC)
+ /*
+ * DirFrmQ is now valid...defer setting until end
+ * of ATIM window
+@@ -3061,16 +3061,8 @@ static bool brcms_c_ps_allowed(struct br
+ if (wlc->filter_flags & FIF_PROMISC_IN_BSS)
+ return false;
+
+- if (cfg->associated) {
+- /*
+- * disallow PS when one of the following
+- * bsscfg specific conditions meets
+- */
+- if (!cfg->BSS)
+- return false;
+-
++ if (cfg->associated)
+ return false;
+- }
+
+ return true;
+ }
+@@ -5080,8 +5072,9 @@ int brcms_c_up(struct brcms_c_info *wlc)
+ struct brcms_bss_cfg *bsscfg = wlc->bsscfg;
+ mboolset(wlc->pub->radio_disabled,
+ WL_RADIO_HW_DISABLE);
+-
+- if (bsscfg->enable && bsscfg->BSS)
++ if (bsscfg->enable &&
++ (bsscfg->type == BRCMS_TYPE_STATION ||
++ bsscfg->type == BRCMS_TYPE_ADHOC))
+ brcms_err(wlc->hw->d11core,
+ "wl%d: up: rfdisable -> "
+ "bsscfg_disable()\n",
+@@ -7390,7 +7383,7 @@ void brcms_c_update_beacon(struct brcms_
+ {
+ struct brcms_bss_cfg *bsscfg = wlc->bsscfg;
+
+- if (bsscfg->up && !bsscfg->BSS)
++ if (bsscfg->up && bsscfg->type == BRCMS_TYPE_AP)
+ /* Clear the soft intmask */
+ wlc->defmacintmask &= ~MI_BCNTPL;
+ }
+@@ -7465,7 +7458,7 @@ void brcms_c_update_probe_resp(struct br
+ struct brcms_bss_cfg *bsscfg = wlc->bsscfg;
+
+ /* update AP or IBSS probe responses */
+- if (bsscfg->up && !bsscfg->BSS)
++ if (bsscfg->up && bsscfg->type == BRCMS_TYPE_AP)
+ brcms_c_bss_update_probe_resp(wlc, bsscfg, suspend);
+ }
+
+--- a/drivers/net/wireless/brcm80211/brcmsmac/main.h
++++ b/drivers/net/wireless/brcm80211/brcmsmac/main.h
+@@ -590,7 +590,6 @@ enum brcms_bss_type {
+ * up: is this configuration up operational
+ * enable: is this configuration enabled
+ * associated: is BSS in ASSOCIATED state
+- * BSS: infraustructure or adhoc
+ * SSID_len: the length of SSID
+ * SSID: SSID string
+ *
+@@ -610,7 +609,6 @@ struct brcms_bss_cfg {
+ bool up;
+ bool enable;
+ bool associated;
+- bool BSS;
+ u8 SSID_len;
+ u8 SSID[IEEE80211_MAX_SSID_LEN];
+ u8 BSSID[ETH_ALEN];