diff options
| author | Michael Biebl <biebl@debian.org> | 2012-10-26 21:32:57 +0200 |
|---|---|---|
| committer | Michael Biebl <biebl@debian.org> | 2012-10-26 21:32:57 +0200 |
| commit | 36cb2f364a821e1be50b23e03a18891ec55adb06 (patch) | |
| tree | dcc7ff4019373acf1583c3271c4efbddbf43aa6c /src/nm-device-wired.c | |
| parent | 8c98b34228abb4dfde822ad89106b4d8b2287639 (diff) | |
Imported Upstream version 0.9.6.4 upstream/0.9.6.4
Diffstat (limited to 'src/nm-device-wired.c')
| -rw-r--r-- | src/nm-device-wired.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/nm-device-wired.c b/src/nm-device-wired.c index 60e5f262..c1122e55 100644 --- a/src/nm-device-wired.c +++ b/src/nm-device-wired.c @@ -147,6 +147,13 @@ carrier_action_defer_cb (gpointer user_data) if (state == NM_DEVICE_STATE_UNAVAILABLE) { if (priv->carrier) nm_device_queue_state (NM_DEVICE (self), NM_DEVICE_STATE_DISCONNECTED, NM_DEVICE_STATE_REASON_CARRIER); + else { + /* clear any queued state changes if they wouldn't be valid when the + * carrier is off. + */ + if (nm_device_queued_state_peek (NM_DEVICE (self)) >= NM_DEVICE_STATE_DISCONNECTED) + nm_device_queued_state_clear (NM_DEVICE (self)); + } } else if (state >= NM_DEVICE_STATE_DISCONNECTED) { if (!priv->carrier) nm_device_queue_state (NM_DEVICE (self), NM_DEVICE_STATE_UNAVAILABLE, NM_DEVICE_STATE_REASON_CARRIER); |