summaryrefslogtreecommitdiffstats
path: root/network/connection.c
diff options
context:
space:
mode:
Diffstat (limited to 'network/connection.c')
-rw-r--r--network/connection.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/network/connection.c b/network/connection.c
index 0bd255d2..50f60023 100644
--- a/network/connection.c
+++ b/network/connection.c
@@ -155,6 +155,8 @@ static gboolean bnep_connect_cb(GIOChannel *chan, GIOCondition cond,
goto failed;
}
+ bnep_if_up(nc->dev, TRUE);
+
signal = dbus_message_new_signal(nc->path,
NETWORK_CONNECTION_INTERFACE, "Connected");
@@ -461,6 +463,7 @@ static DBusHandlerResult connection_disconnect(DBusConnection *conn,
return DBUS_HANDLER_RESULT_HANDLED;
}
+ bnep_if_up(nc->dev, FALSE);
bnep_kill_connection(&nc->dst);
reply = dbus_message_new_method_return(msg);
@@ -534,8 +537,10 @@ static void connection_free(struct network_conn *nc)
if (nc->path)
g_free(nc->path);
- if (nc->state == CONNECTED)
+ if (nc->state == CONNECTED) {
+ bnep_if_up(nc->dev, FALSE);
bnep_kill_connection(&nc->dst);
+ }
if (nc->name)
g_free(nc->name);