Shutdown the IO channel after watch is triggered.

If we don't shut it down, the watches don't get triggered
for future events. This is similar to incoming connections
for input and audio.

Change-Id: I4acd91527d909b1018856105dcc07bb61053e916
diff --git a/network/server.c b/network/server.c
index bffdb36..b401c5d 100644
--- a/network/server.c
+++ b/network/server.c
@@ -297,11 +297,9 @@
 				ns->iface, "DeviceDisconnected",
 				DBUS_TYPE_STRING, &paddr,
 				DBUS_TYPE_INVALID);
-
-	if (session->io) {
-		g_io_channel_unref(session->io);
-		session->io = NULL;
-	}
+	g_io_channel_shutdown(chan, TRUE, NULL);
+	g_io_channel_unref(session->io);
+	session->io = NULL;
 }
 
 
@@ -345,7 +343,7 @@
 				DBUS_TYPE_UINT16, &dst_role,
 				DBUS_TYPE_INVALID);
 
-	g_io_add_watch(session->io, G_IO_ERR | G_IO_HUP | G_IO_NVAL,
+	g_io_add_watch(session->io, G_IO_ERR | G_IO_HUP,
 			(GIOFunc) bnep_watchdog_cb, ns);
 
 	return 0;