summaryrefslogtreecommitdiff
path: root/src/core/devices/wifi/nm-device-wifi.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/devices/wifi/nm-device-wifi.c')
-rw-r--r--src/core/devices/wifi/nm-device-wifi.c20
1 files changed, 14 insertions, 6 deletions
diff --git a/src/core/devices/wifi/nm-device-wifi.c b/src/core/devices/wifi/nm-device-wifi.c
index 7b632f2792..03625f8d6d 100644
--- a/src/core/devices/wifi/nm-device-wifi.c
+++ b/src/core/devices/wifi/nm-device-wifi.c
@@ -2912,10 +2912,11 @@ supplicant_connection_timeout_cb(gpointer user_data)
}
static NMSupplicantConfig *
-build_supplicant_config(NMDeviceWifi *self,
- NMConnection *connection,
- guint32 fixed_freq,
- GError **error)
+build_supplicant_config(NMDeviceWifi *self,
+ NMSettingsConnection *sett_conn,
+ NMConnection *connection,
+ guint32 fixed_freq,
+ GError **error)
{
NMDeviceWifiPrivate *priv = NM_DEVICE_WIFI_GET_PRIVATE(self);
NMSupplicantConfig *config = NULL;
@@ -2944,7 +2945,10 @@ build_supplicant_config(NMDeviceWifi *self,
goto error;
}
- if (!nm_supplicant_config_add_bgscan(config, connection, error)) {
+ if (!nm_supplicant_config_add_bgscan(config,
+ connection,
+ nm_settings_connection_get_num_seen_bssids(sett_conn),
+ error)) {
g_prefix_error(error, "bgscan: ");
goto error;
}
@@ -3279,6 +3283,7 @@ act_stage2_config(NMDevice *device, NMDeviceStateReason *out_failure_reason)
NMActRequest *req;
NMWifiAP *ap;
NMConnection *connection;
+ NMSettingsConnection *sett_conn;
const char *setting_name;
NMSettingWireless *s_wireless;
GError *error = NULL;
@@ -3302,6 +3307,9 @@ act_stage2_config(NMDevice *device, NMDeviceStateReason *out_failure_reason)
ap_mode = nm_wifi_ap_get_mode(ap);
+ sett_conn = nm_act_request_get_settings_connection(req);
+ nm_assert(sett_conn);
+
connection = nm_act_request_get_applied_connection(req);
s_wireless = nm_connection_get_setting_wireless(connection);
nm_assert(s_wireless);
@@ -3350,7 +3358,7 @@ act_stage2_config(NMDevice *device, NMDeviceStateReason *out_failure_reason)
set_powersave(device);
/* Build up the supplicant configuration */
- config = build_supplicant_config(self, connection, nm_wifi_ap_get_freq(ap), &error);
+ config = build_supplicant_config(self, sett_conn, connection, nm_wifi_ap_get_freq(ap), &error);
if (!config) {
_LOGE(LOGD_DEVICE | LOGD_WIFI,
"Activation: (wifi) couldn't build wireless configuration: %s",