g_supplicant_unregister first destroys the interface table and then
invokes system_killed callback which will trigger wifi device driver
removal. wifi_remove will now set it's interface data to NULL but the
GSupplicantInterface has already been freed and hence the issue.
Invoking the system_killed callback before destroying the interface
table in gsupplicant will fix this issue.
Fixes BMC#11684
bss_mapping = NULL;
}
+ if (system_available == TRUE)
+ callback_system_killed();
+
if (interface_table != NULL) {
g_hash_table_foreach(interface_table,
unregister_remove_interface, NULL);
interface_table = NULL;
}
- if (system_available == TRUE)
- callback_system_killed();
-
if (connection != NULL) {
dbus_connection_unref(connection);
connection = NULL;