Move HT CSA related IE function
authorAndrei Otcheretianski <andrei.otcheretianski@intel.com>
Tue, 8 Sep 2015 09:46:21 +0000 (12:46 +0300)
committerJouni Malinen <j@w1.fi>
Sat, 3 Oct 2015 17:31:30 +0000 (20:31 +0300)
Move Secondary Channel element function to ieee802_11_ht.c.

Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
src/ap/beacon.c
src/ap/ieee802_11.h
src/ap/ieee802_11_ht.c

index f9bbf1a..71d348e 100644 (file)
@@ -326,28 +326,6 @@ static u8 * hostapd_eid_ecsa(struct hostapd_data *hapd, u8 *eid)
 }
 
 
-static u8 * hostapd_eid_secondary_channel(struct hostapd_data *hapd, u8 *eid)
-{
-       u8 sec_ch;
-
-       if (!hapd->cs_freq_params.sec_channel_offset)
-               return eid;
-
-       if (hapd->cs_freq_params.sec_channel_offset == -1)
-               sec_ch = HT_INFO_HT_PARAM_SECONDARY_CHNL_BELOW;
-       else if (hapd->cs_freq_params.sec_channel_offset == 1)
-               sec_ch = HT_INFO_HT_PARAM_SECONDARY_CHNL_ABOVE;
-       else
-               return eid;
-
-       *eid++ = WLAN_EID_SECONDARY_CHANNEL_OFFSET;
-       *eid++ = 1;
-       *eid++ = sec_ch;
-
-       return eid;
-}
-
-
 static u8 * hostapd_add_csa_elems(struct hostapd_data *hapd, u8 *pos,
                                  u8 *start, unsigned int *csa_counter_off,
                                  unsigned int *ecsa_counter_off)
@@ -376,7 +354,9 @@ static u8 * hostapd_add_csa_elems(struct hostapd_data *hapd, u8 *pos,
 
        /* at least one of ies is added */
        if (pos != curr_pos) {
+#ifdef CONFIG_IEEE80211N
                curr_pos = hostapd_eid_secondary_channel(hapd, curr_pos);
+#endif /* CONFIG_IEEE80211N */
 #ifdef CONFIG_IEEE80211AC
                curr_pos = hostapd_eid_wb_chsw_wrapper(hapd, curr_pos);
 #endif /* CONFIG_IEEE80211AC */
index 2c18f2b..93f9dc3 100644 (file)
@@ -49,6 +49,7 @@ u8 * hostapd_eid_supp_rates(struct hostapd_data *hapd, u8 *eid);
 u8 * hostapd_eid_ext_supp_rates(struct hostapd_data *hapd, u8 *eid);
 u8 * hostapd_eid_ht_capabilities(struct hostapd_data *hapd, u8 *eid);
 u8 * hostapd_eid_ht_operation(struct hostapd_data *hapd, u8 *eid);
+u8 * hostapd_eid_secondary_channel(struct hostapd_data *hapd, u8 *eid);
 u8 * hostapd_eid_vht_capabilities(struct hostapd_data *hapd, u8 *eid);
 u8 * hostapd_eid_vht_operation(struct hostapd_data *hapd, u8 *eid);
 u8 * hostapd_eid_vendor_vht(struct hostapd_data *hapd, u8 *eid);
index 11fde2a..33c1f6c 100644 (file)
@@ -108,6 +108,28 @@ u8 * hostapd_eid_ht_operation(struct hostapd_data *hapd, u8 *eid)
 }
 
 
+u8 * hostapd_eid_secondary_channel(struct hostapd_data *hapd, u8 *eid)
+{
+       u8 sec_ch;
+
+       if (!hapd->cs_freq_params.sec_channel_offset)
+               return eid;
+
+       if (hapd->cs_freq_params.sec_channel_offset == -1)
+               sec_ch = HT_INFO_HT_PARAM_SECONDARY_CHNL_BELOW;
+       else if (hapd->cs_freq_params.sec_channel_offset == 1)
+               sec_ch = HT_INFO_HT_PARAM_SECONDARY_CHNL_ABOVE;
+       else
+               return eid;
+
+       *eid++ = WLAN_EID_SECONDARY_CHANNEL_OFFSET;
+       *eid++ = 1;
+       *eid++ = sec_ch;
+
+       return eid;
+}
+
+
 /*
 op_mode
 Set to 0 (HT pure) under the followign conditions