wifi: Remove network on BSSRemoved signal reception
authorLeena Gunda <leena.gunda@wipro.com>
Thu, 23 Dec 2010 18:07:55 +0000 (19:07 +0100)
committerSamuel Ortiz <sameo@linux.intel.com>
Thu, 23 Dec 2010 18:08:28 +0000 (19:08 +0100)
Fixes BMC#11561

plugins/wifi.c

index 2c8eee1..754b8b9 100644 (file)
@@ -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)