2007-08-20 Dan Williams <dcbw@redhat.com>

* src/nm-device-802-11-wireless.c
	  src/nm-device-802-3-ethernet.c
		- (real_is_up): move device-specific tests before generic IFF_UP test,
			because when the card is pulled or the module removed, the device
			is already !IFF_UP and then device-specific cleanup (removing
			the supplicant interface, periodic checks, etc) never gets done



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2721 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
This commit is contained in:
Dan Williams
2007-08-21 02:01:52 +00:00
parent e5177b35cd
commit d711aed2ef
3 changed files with 17 additions and 6 deletions

View File

@@ -1,3 +1,12 @@
2007-08-20 Dan Williams <dcbw@redhat.com>
* src/nm-device-802-11-wireless.c
src/nm-device-802-3-ethernet.c
- (real_is_up): move device-specific tests before generic IFF_UP test,
because when the card is pulled or the module removed, the device
is already !IFF_UP and then device-specific cleanup (removing
the supplicant interface, periodic checks, etc) never gets done
2007-08-20 Dan Williams <dcbw@redhat.com> 2007-08-20 Dan Williams <dcbw@redhat.com>
* src/nm-manager.c * src/nm-manager.c

View File

@@ -564,10 +564,11 @@ nm_device_802_11_periodic_update (gpointer data)
static gboolean static gboolean
real_is_up (NMDevice *device) real_is_up (NMDevice *device)
{ {
if (!NM_DEVICE_CLASS (nm_device_802_11_wireless_parent_class)->is_up (device)) /* Try device-specific tests first */
return FALSE; if (NM_DEVICE_802_11_WIRELESS_GET_PRIVATE (device)->periodic_source_id)
return TRUE;
return NM_DEVICE_802_11_WIRELESS_GET_PRIVATE (device)->periodic_source_id != 0; return NM_DEVICE_CLASS (nm_device_802_11_wireless_parent_class)->is_up (device);
} }
static gboolean static gboolean

View File

@@ -157,10 +157,11 @@ out:
static gboolean static gboolean
real_is_up (NMDevice *device) real_is_up (NMDevice *device)
{ {
if (!NM_DEVICE_CLASS (nm_device_802_3_ethernet_parent_class)->is_up (device)) /* Try device-specific tests first */
return FALSE; if (NM_DEVICE_802_3_ETHERNET_GET_PRIVATE (device)->sup_iface)
return TRUE;
return !!NM_DEVICE_802_3_ETHERNET_GET_PRIVATE (device)->sup_iface; return NM_DEVICE_CLASS (nm_device_802_3_ethernet_parent_class)->is_up (device);
} }
static gboolean static gboolean