From cccb8fe5e6945085d43050411c1ced26453d85df Mon Sep 17 00:00:00 2001 From: Dan Williams Date: Fri, 23 Oct 2015 11:50:12 -0500 Subject: [PATCH] bluetooth: fix missing 'connected' notifications (rh #1255284) Because Bluez5 dropped DUN support, NM must do that manually which includes emulating the "connected" property for Bluetooth devices when DUN is used. It does this by setting priv->connected = TRUE in nm_bluez_device_connect_finish(). But for PAN, when NM does process the 'connected' property change notification, priv->connected is already TRUE and _take_variant_property_connected() does nothing. Hence the corresponding GObject property notification is not emitted, nm-device-bt.c::check_connect_continue() will never return success, and the activation times out. To fix this, ensure that GObject notifications are emitted when the device is connected, even if emulated internally. https://mail.gnome.org/archives/networkmanager-list/2015-October/msg00053.html https://bugzilla.redhat.com/show_bug.cgi?id=1255284 (cherry picked from commit 0e3086e8b885164f24b43a1060cb1f87a62723a8) --- src/devices/bluetooth/nm-bluez-device.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/devices/bluetooth/nm-bluez-device.c b/src/devices/bluetooth/nm-bluez-device.c index d5426052f6..89ad827077 100644 --- a/src/devices/bluetooth/nm-bluez-device.c +++ b/src/devices/bluetooth/nm-bluez-device.c @@ -603,8 +603,10 @@ nm_bluez_device_connect_finish (NMBluezDevice *self, return NULL; device = (const char *) g_simple_async_result_get_op_res_gpointer (simple); - if (device && priv->bluez_version == 5) + if (device && priv->bluez_version == 5) { priv->connected = TRUE; + g_object_notify (G_OBJECT (self), NM_BLUEZ_DEVICE_CONNECTED); + } return device; }