{
        struct brcms_bss_cfg *bsscfg = wlc->bsscfg;
 
-       if (bsscfg->up && (bsscfg->type == BRCMS_TYPE_AP ||
-                          bsscfg->type == BRCMS_TYPE_ADHOC))
+       if (wlc->pub->up && (bsscfg->type == BRCMS_TYPE_AP ||
+                            bsscfg->type == BRCMS_TYPE_ADHOC))
                /* Clear the soft intmask */
                wlc->defmacintmask &= ~MI_BCNTPL;
 }
        struct brcms_bss_cfg *bsscfg = wlc->bsscfg;
 
        /* update AP or IBSS probe responses */
-       if (bsscfg->up && (bsscfg->type == BRCMS_TYPE_AP ||
-                          bsscfg->type == BRCMS_TYPE_ADHOC))
+       if (wlc->pub->up && (bsscfg->type == BRCMS_TYPE_AP ||
+                            bsscfg->type == BRCMS_TYPE_ADHOC))
                brcms_c_bss_update_probe_resp(wlc, bsscfg, suspend);
 }
 
        brcms_c_set_bssid(wlc->bsscfg);
 
        /* Update tsf_cfprep if associated and up */
-       if (wlc->pub->associated && wlc->bsscfg->up) {
+       if (wlc->pub->associated && wlc->pub->up) {
                u32 bi;
 
                /* get beacon period and convert to uS */
 
  *
  * wlc: wlc to which this bsscfg belongs to.
  * type: interface type
- * up: is this configuration up operational
  * SSID_len: the length of SSID
  * SSID: SSID string
  *
 struct brcms_bss_cfg {
        struct brcms_c_info *wlc;
        enum brcms_bss_type type;
-       bool up;
        u8 SSID_len;
        u8 SSID[IEEE80211_MAX_SSID_LEN];
        u8 BSSID[ETH_ALEN];