Use previously computed channel in cs_freq_params for Beacon frames
authorAndrei Otcheretianski <andrei.otcheretianski@intel.com>
Tue, 8 Sep 2015 09:46:11 +0000 (12:46 +0300)
committerJouni Malinen <j@w1.fi>
Sat, 3 Oct 2015 16:02:49 +0000 (19:02 +0300)
When CSA is started, hostapd_change_config_freq() computes the channel
from the provided frequency. Use this stored channel to add CSA IE in
Beacon frames, instead of recomputing the channel each time.

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

index 5fe8fd5..cdca8a3 100644 (file)
@@ -297,19 +297,13 @@ static u8 * hostapd_eid_wpa(struct hostapd_data *hapd, u8 *eid, size_t len)
 
 static u8 * hostapd_eid_csa(struct hostapd_data *hapd, u8 *eid)
 {
-       u8 chan;
-
-       if (!hapd->cs_freq_params.freq)
-               return eid;
-
-       if (ieee80211_freq_to_chan(hapd->cs_freq_params.freq, &chan) ==
-           NUM_HOSTAPD_MODES)
+       if (!hapd->cs_freq_params.channel)
                return eid;
 
        *eid++ = WLAN_EID_CHANNEL_SWITCH;
        *eid++ = 3;
        *eid++ = hapd->cs_block_tx;
-       *eid++ = chan;
+       *eid++ = hapd->cs_freq_params.channel;
        *eid++ = hapd->cs_count;
 
        return eid;