mac80211: update brcmsmac ap patches
[openwrt.git] / package / mac80211 / patches / 862-brcmsmac-remove-brcms_bss_cfg-BSS.patch
1 --- a/drivers/net/wireless/brcm80211/brcmsmac/main.c
2 +++ b/drivers/net/wireless/brcm80211/brcmsmac/main.c
3 @@ -1071,7 +1071,7 @@ brcms_b_txstatus(struct brcms_hardware *
4  
5  static void brcms_c_tbtt(struct brcms_c_info *wlc)
6  {
7 -       if (!wlc->bsscfg->BSS)
8 +       if (wlc->bsscfg->type == BRCMS_TYPE_ADHOC)
9                 /*
10                  * DirFrmQ is now valid...defer setting until end
11                  * of ATIM window
12 @@ -3061,16 +3061,8 @@ static bool brcms_c_ps_allowed(struct br
13         if (wlc->filter_flags & FIF_PROMISC_IN_BSS)
14                 return false;
15  
16 -       if (cfg->associated) {
17 -               /*
18 -                * disallow PS when one of the following
19 -                * bsscfg specific conditions meets
20 -                */
21 -               if (!cfg->BSS)
22 -                       return false;
23 -
24 +       if (cfg->associated)
25                 return false;
26 -       }
27  
28         return true;
29  }
30 @@ -5080,8 +5072,9 @@ int brcms_c_up(struct brcms_c_info *wlc)
31                                 struct brcms_bss_cfg *bsscfg = wlc->bsscfg;
32                                 mboolset(wlc->pub->radio_disabled,
33                                          WL_RADIO_HW_DISABLE);
34 -
35 -                               if (bsscfg->enable && bsscfg->BSS)
36 +                               if (bsscfg->enable &&
37 +                                   (bsscfg->type == BRCMS_TYPE_STATION ||
38 +                                    bsscfg->type == BRCMS_TYPE_ADHOC))
39                                         brcms_err(wlc->hw->d11core,
40                                                   "wl%d: up: rfdisable -> "
41                                                   "bsscfg_disable()\n",
42 @@ -7390,7 +7383,8 @@ void brcms_c_update_beacon(struct brcms_
43  {
44         struct brcms_bss_cfg *bsscfg = wlc->bsscfg;
45  
46 -       if (bsscfg->up && !bsscfg->BSS)
47 +       if (bsscfg->up && (bsscfg->type == BRCMS_TYPE_AP ||
48 +                          bsscfg->type == BRCMS_TYPE_ADHOC))
49                 /* Clear the soft intmask */
50                 wlc->defmacintmask &= ~MI_BCNTPL;
51  }
52 @@ -7465,7 +7459,8 @@ void brcms_c_update_probe_resp(struct br
53         struct brcms_bss_cfg *bsscfg = wlc->bsscfg;
54  
55         /* update AP or IBSS probe responses */
56 -       if (bsscfg->up && !bsscfg->BSS)
57 +       if (bsscfg->up && (bsscfg->type == BRCMS_TYPE_AP ||
58 +                          bsscfg->type == BRCMS_TYPE_ADHOC))
59                 brcms_c_bss_update_probe_resp(wlc, bsscfg, suspend);
60  }
61  
62 --- a/drivers/net/wireless/brcm80211/brcmsmac/main.h
63 +++ b/drivers/net/wireless/brcm80211/brcmsmac/main.h
64 @@ -590,7 +590,6 @@ enum brcms_bss_type {
65   * up: is this configuration up operational
66   * enable: is this configuration enabled
67   * associated: is BSS in ASSOCIATED state
68 - * BSS: infraustructure or adhoc
69   * SSID_len: the length of SSID
70   * SSID: SSID string
71   *
72 @@ -610,7 +609,6 @@ struct brcms_bss_cfg {
73         bool up;
74         bool enable;
75         bool associated;
76 -       bool BSS;
77         u8 SSID_len;
78         u8 SSID[IEEE80211_MAX_SSID_LEN];
79         u8 BSSID[ETH_ALEN];