summaryrefslogtreecommitdiff
path: root/package/mac80211/patches/862-brcmsmac-remove-brcms_bss_cfg-BSS.patch
blob: 1fafd63a2825f61c112d4d313b6d63ad71e34bbb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
--- 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,8 @@ 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 ||
+			   bsscfg->type == BRCMS_TYPE_ADHOC))
 		/* Clear the soft intmask */
 		wlc->defmacintmask &= ~MI_BCNTPL;
 }
@@ -7465,7 +7459,8 @@ 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 ||
+			   bsscfg->type == BRCMS_TYPE_ADHOC))
 		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];