u32   status;
 } __packed;
 
-enum hif_ap_mode {
-       HIF_MODE_IBSS                              = 0x0,
-       HIF_MODE_BSS                               = 0x1
-};
-
 enum hif_preamble {
        HIF_PREAMBLE_LONG                          = 0x0,
        HIF_PREAMBLE_SHORT                         = 0x1,
 } __packed;
 
 struct hif_req_join {
-       u8    mode;
+       u8    infrastructure_bss_mode:1;
+       u8    reserved1:7;
        u8    band;
        u16   channel_number;
        u8    bssid[ETH_ALEN];
 
        struct ieee80211_bss_conf *conf = &wvif->vif->bss_conf;
        struct cfg80211_bss *bss = NULL;
        struct hif_req_join join = {
-               .mode = conf->ibss_joined ? HIF_MODE_IBSS : HIF_MODE_BSS,
+               .infrastructure_bss_mode = !conf->ibss_joined,
                .preamble_type = conf->use_short_preamble ? HIF_PREAMBLE_SHORT : HIF_PREAMBLE_LONG,
                .probe_for_join = 1,
                .atim_window = 0,