Diff between b41791221213b0c5b1d66ed52462b5960e070ea5 and c4a8ba6d82f1b5c7f14c2abc01242925c60b468d

Changed Files

File Additions Deletions Status
src/device.c +8 -0 modified

Full Patch

diff --git a/src/device.c b/src/device.c
index 93e454e..46f26d1 100644
--- a/src/device.c
+++ b/src/device.c
@@ -790,6 +790,14 @@ void device_request_disconnect(struct btd_device *device, DBusMessage *msg)
 		browse_request_cancel(device->browse);
 	}
 
+	if (device->attrib) {
+		GIOChannel *io = g_attrib_get_channel(device->attrib);
+		if (io) {
+			g_io_channel_shutdown(io, FALSE, NULL);
+			g_io_channel_unref(io);
+		}
+	}
+
 	if (msg)
 		device->disconnects = g_slist_append(device->disconnects,
 						dbus_message_ref(msg));