Fix get_shared_radio_freqs_data() used-by flags setting
authorAndrei Otcheretianski <andrei.otcheretianski@intel.com>
Tue, 8 Sep 2015 09:46:08 +0000 (12:46 +0300)
committerJouni Malinen <j@w1.fi>
Fri, 25 Sep 2015 18:02:55 +0000 (21:02 +0300)
Fix an iteration bug in get_shared_radio_freqs_data when building
freqs_data array. Only the last used-by flag was maintained instead of
making this a bitfield of all found uses.

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

index 4805f83..ef55fdc 100644 (file)
@@ -5568,7 +5568,7 @@ int get_shared_radio_freqs_data(struct wpa_supplicant *wpa_s,
                        freqs_data[idx++].freq = freq;
 
                if (ifs->current_ssid->mode == WPAS_MODE_INFRA) {
-                       freqs_data[i].flags = ifs->current_ssid->p2p_group ?
+                       freqs_data[i].flags |= ifs->current_ssid->p2p_group ?
                                WPA_FREQ_USED_BY_P2P_CLIENT :
                                WPA_FREQ_USED_BY_INFRA_STATION;
                }