summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLeena Gunda <leena.gunda@wipro.com>2010-12-23 19:07:55 +0100
committerSamuel Ortiz <sameo@linux.intel.com>2010-12-23 19:08:28 +0100
commitb4ebacbab72e33c87629ca7089dc44b06a83eff2 (patch)
treea5aa1ab0f6027d3088c12a6d9b68d4a6b8b80665
parent7eb4b61d1dc5dbdd6eb7362542731a1977e34e1c (diff)
downloadconnman-b4ebacbab72e33c87629ca7089dc44b06a83eff2.tar.gz
connman-b4ebacbab72e33c87629ca7089dc44b06a83eff2.tar.bz2
connman-b4ebacbab72e33c87629ca7089dc44b06a83eff2.zip
wifi: Remove network on BSSRemoved signal reception
Fixes BMC#11561
-rw-r--r--plugins/wifi.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/plugins/wifi.c b/plugins/wifi.c
index 2c8eee1f..754b8b9b 100644
--- a/plugins/wifi.c
+++ b/plugins/wifi.c
@@ -526,9 +526,19 @@ static void network_added(GSupplicantNetwork *supplicant_network)
static void network_removed(GSupplicantNetwork *network)
{
- const char *name = g_supplicant_network_get_name(network);
+ GSupplicantInterface *interface;
+ struct wifi_data *wifi;
+ const char *name, *identifier;
+
+ interface = g_supplicant_network_get_interface(network);
+ wifi = g_supplicant_interface_get_data(interface);
+ identifier = g_supplicant_network_get_identifier(network);
+ name = g_supplicant_network_get_name(network);
+
+ DBG("name %s", name);
- DBG("* name %s", name);
+ if (wifi != NULL)
+ connman_device_remove_network(wifi->device, identifier);
}
static void debug(const char *str)