From: Daniel Wagner <[email protected]>
---
src/session.c | 9 +++++++++
1 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/src/session.c b/src/session.c
index 7d9fc8b..0adc44b 100644
--- a/src/session.c
+++ b/src/session.c
@@ -906,6 +906,15 @@ static void session_changed(struct connman_session
*session,
break;
}
+ /*
+ * We are not online, we are not connecting, that
+ * means we could still have a valid info->entry.
+ * Though something has changed from the service layer.
+ * Therefore we want to restart the algorithm. Before we
+ * can do that we have to cleanup a potientional old entry.
+ */
+ explicit_disconnect(session);
+
if (info->reason == CONNMAN_SESSION_REASON_CONNECT) {
DBG("Retry to find a matching session");
/*
--
1.7.6
_______________________________________________
connman mailing list
[email protected]
http://lists.connman.net/listinfo/connman