Commit 45c4f657 authored by Hauke Mehrtens's avatar Hauke Mehrtens Committed by John W. Linville

brcmsmac: remove brcms_bss_cfg->BSS

This was a read only member. The checks using BSS are replaced by
better fitting checks of the new type member.

The change in brcms_c_tbtt() was based on code from b43, in
brcms_c_ps_allowed() the same happens with BSS being true or false,
beaconing and probe responses are just needed in ap mode.
Signed-off-by: default avatarHauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 70268ce2
...@@ -1069,7 +1069,7 @@ brcms_b_txstatus(struct brcms_hardware *wlc_hw, bool bound, bool *fatal) ...@@ -1069,7 +1069,7 @@ brcms_b_txstatus(struct brcms_hardware *wlc_hw, bool bound, bool *fatal)
static void brcms_c_tbtt(struct brcms_c_info *wlc) 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 * DirFrmQ is now valid...defer setting until end
* of ATIM window * of ATIM window
...@@ -3059,16 +3059,8 @@ static bool brcms_c_ps_allowed(struct brcms_c_info *wlc) ...@@ -3059,16 +3059,8 @@ static bool brcms_c_ps_allowed(struct brcms_c_info *wlc)
if (wlc->filter_flags & FIF_PROMISC_IN_BSS) if (wlc->filter_flags & FIF_PROMISC_IN_BSS)
return false; return false;
if (cfg->associated) { if (cfg->associated)
/*
* disallow PS when one of the following
* bsscfg specific conditions meets
*/
if (!cfg->BSS)
return false;
return false; return false;
}
return true; return true;
} }
...@@ -5078,8 +5070,9 @@ int brcms_c_up(struct brcms_c_info *wlc) ...@@ -5078,8 +5070,9 @@ int brcms_c_up(struct brcms_c_info *wlc)
struct brcms_bss_cfg *bsscfg = wlc->bsscfg; struct brcms_bss_cfg *bsscfg = wlc->bsscfg;
mboolset(wlc->pub->radio_disabled, mboolset(wlc->pub->radio_disabled,
WL_RADIO_HW_DISABLE); WL_RADIO_HW_DISABLE);
if (bsscfg->enable &&
if (bsscfg->enable && bsscfg->BSS) (bsscfg->type == BRCMS_TYPE_STATION ||
bsscfg->type == BRCMS_TYPE_ADHOC))
brcms_err(wlc->hw->d11core, brcms_err(wlc->hw->d11core,
"wl%d: up: rfdisable -> " "wl%d: up: rfdisable -> "
"bsscfg_disable()\n", "bsscfg_disable()\n",
...@@ -7386,7 +7379,8 @@ void brcms_c_update_beacon(struct brcms_c_info *wlc) ...@@ -7386,7 +7379,8 @@ void brcms_c_update_beacon(struct brcms_c_info *wlc)
{ {
struct brcms_bss_cfg *bsscfg = wlc->bsscfg; 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 */ /* Clear the soft intmask */
wlc->defmacintmask &= ~MI_BCNTPL; wlc->defmacintmask &= ~MI_BCNTPL;
} }
...@@ -7461,7 +7455,8 @@ void brcms_c_update_probe_resp(struct brcms_c_info *wlc, bool suspend) ...@@ -7461,7 +7455,8 @@ void brcms_c_update_probe_resp(struct brcms_c_info *wlc, bool suspend)
struct brcms_bss_cfg *bsscfg = wlc->bsscfg; struct brcms_bss_cfg *bsscfg = wlc->bsscfg;
/* update AP or IBSS probe responses */ /* 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); brcms_c_bss_update_probe_resp(wlc, bsscfg, suspend);
} }
......
...@@ -590,7 +590,6 @@ enum brcms_bss_type { ...@@ -590,7 +590,6 @@ enum brcms_bss_type {
* up: is this configuration up operational * up: is this configuration up operational
* enable: is this configuration enabled * enable: is this configuration enabled
* associated: is BSS in ASSOCIATED state * associated: is BSS in ASSOCIATED state
* BSS: infraustructure or adhoc
* SSID_len: the length of SSID * SSID_len: the length of SSID
* SSID: SSID string * SSID: SSID string
* *
...@@ -610,7 +609,6 @@ struct brcms_bss_cfg { ...@@ -610,7 +609,6 @@ struct brcms_bss_cfg {
bool up; bool up;
bool enable; bool enable;
bool associated; bool associated;
bool BSS;
u8 SSID_len; u8 SSID_len;
u8 SSID[IEEE80211_MAX_SSID_LEN]; u8 SSID[IEEE80211_MAX_SSID_LEN];
u8 BSSID[ETH_ALEN]; u8 BSSID[ETH_ALEN];
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment