diff --git a/ChangeLog b/ChangeLog index 1e93a75d88..a8749762b1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2007-08-17 Dan Williams + + * src/nm-device-802-11-wireless.c + - (device_cleanup): disconnect the interface in wpa_supplicant before + we dispose of the interface proxy in NM + 2007-08-16 Dan Williams * libnm-glib/nm-client.c diff --git a/src/nm-device-802-11-wireless.c b/src/nm-device-802-11-wireless.c index 39928e8307..77f1692708 100644 --- a/src/nm-device-802-11-wireless.c +++ b/src/nm-device-802-11-wireless.c @@ -605,12 +605,11 @@ device_cleanup (NMDevice80211Wireless *self) cancel_pending_scan (self); - cleanup_supplicant_interface (self); - - if (priv->supplicant.iface) { + /* Tell the supplicant to disconnect from the current AP */ + if (priv->supplicant.iface) nm_supplicant_interface_disconnect (priv->supplicant.iface); - priv->supplicant.iface = NULL; - } + + cleanup_supplicant_interface (self); if (priv->supplicant.mgr_state_id) { g_signal_handler_disconnect (priv->supplicant.mgr, priv->supplicant.mgr_state_id);