summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Williams <dcbw@redhat.com>2014-06-02 13:00:51 +0200
committerThomas Haller <thaller@redhat.com>2014-06-02 19:07:57 +0200
commitffd961febf6ca9278b24294d265bca38aaa58c9b (patch)
tree728b70d0fdc0cff3b9d8185776aa492f40af7306
parentd7b8aeea335498771bc66faae0cbd938b02ce84a (diff)
core: properly initialize unmanaged_flags and handle carrier_changed() for unmanaged devices
Fixes the following g_warn(): #0 0x0000003370c504e9 in g_logv () from /lib64/libglib-2.0.so.0 #1 0x0000003370c5063f in g_log () from /lib64/libglib-2.0.so.0 #2 0x0000003370c50956 in g_warn_message () from /lib64/libglib-2.0.so.0 #3 0x0000000000439962 in carrier_changed (device=0x1d94300, carrier=1) at devices/nm-device.c:1021 #4 0x0000000000488f12 in carrier_changed (device=0x1d94300, carrier=1) at devices/nm-device-ethernet.c:1646 #5 0x0000000000434c94 in nm_device_set_carrier (device=device@entry=0x1d94300, carrier=1) at devices/nm-device.c:1104 #6 0x0000000000434dd5 in check_carrier (device=device@entry=0x1d94300) at devices/nm-device.c:1298 #7 0x0000000000434ef8 in constructed (object=0x1d94300) at devices/nm-device.c:550 #8 0x0000003371c15d87 in g_object_new_internal () from /lib64/libgobject-2.0.so.0 #9 0x0000003371c17814 in g_object_new_valist () from /lib64/libgobject-2.0.so.0 #10 0x0000003371c17c11 in g_object_new () from /lib64/libgobject-2.0.so.0 #11 0x000000000048bc2e in nm_device_ethernet_new (platform_device=platform_device@entry=0x1d82e58) at devices/nm-device-ethernet.c:336 #12 0x000000000047c600 in platform_link_added (self=0x1d70150, ifindex=ifindex@entry=2, plink=plink@entry=0x1d82e58, reason=reason@entry=NM_PLATFORM_REASON_INTERNAL) at nm-manager.c:1954 #13 0x000000000047c7db in platform_link_cb (platform=<optimized out>, ifindex=2, plink=0x1d82e58, change_type=<optimized out>, reason=NM_PLATFORM_REASON_INTERNAL, user_data=0x1d70150) at nm-manager.c:2038 #14 0x0000003371805d8c in ffi_call_unix64 () from /lib64/libffi.so.6 #15 0x00000033718056bc in ffi_call () from /lib64/libffi.so.6 #16 0x0000003371c10ad8 in g_cclosure_marshal_generic () from /lib64/libgobject-2.0.so.0 #17 0x0000003371c10298 in g_closure_invoke () from /lib64/libgobject-2.0.so.0 #18 0x0000003371c2235d in signal_emit_unlocked_R () from /lib64/libgobject-2.0.so.0 #19 0x0000003371c2a0f2 in g_signal_emit_valist () from /lib64/libgobject-2.0.so.0 #20 0x0000003371c2a3af in g_signal_emit () from /lib64/libgobject-2.0.so.0 #21 0x000000000044f6ba in nm_platform_query_devices () at platform/nm-platform.c:330 #22 0x000000000047de4c in nm_manager_start (self=0x1d70150) at nm-manager.c:4025 #23 0x0000000000429d31 in main (argc=1, argv=0x7fffb4c31628) at main.c:654 https://mail.gnome.org/archives/networkmanager-list/2014-June/msg00000.html Signed-off-by: Thomas Haller <thaller@redhat.com>
-rw-r--r--src/devices/nm-device.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/devices/nm-device.c b/src/devices/nm-device.c
index 6a7ec5e3a1..4d94fd0185 100644
--- a/src/devices/nm-device.c
+++ b/src/devices/nm-device.c
@@ -378,6 +378,7 @@ nm_device_init (NMDevice *self)
priv->dhcp_timeout = 0;
priv->rfkill_type = RFKILL_TYPE_UNKNOWN;
priv->autoconnect = DEFAULT_AUTOCONNECT;
+ priv->unmanaged_flags = NM_UNMANAGED_INTERNAL;
priv->available_connections = g_hash_table_new_full (g_direct_hash, g_direct_equal, g_object_unref, NULL);
priv->ip6_saved_properties = g_hash_table_new_full (g_str_hash, g_str_equal, NULL, g_free);
}
@@ -7180,7 +7181,7 @@ nm_device_get_managed (NMDevice *device)
*/
managed = !(priv->unmanaged_flags & ~NM_UNMANAGED_DEFAULT);
if (managed && (priv->unmanaged_flags & NM_UNMANAGED_DEFAULT))
- managed = (priv->state != NM_DEVICE_STATE_UNMANAGED);
+ managed = (priv->state > NM_DEVICE_STATE_UNMANAGED);
return managed;
}