In case of cancelling the connection, idle will be set, but we might be
in the middle of a connection so ensuring it properly cleans via calling
disconnect.
---
src/peer.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/peer.c b/src/peer.c
index 33364e2..55531ce 100644
--- a/src/peer.c
+++ b/src/peer.c
@@ -815,6 +815,8 @@ int connman_peer_set_state(struct connman_peer *peer,
case CONNMAN_PEER_STATE_UNKNOWN:
return -EINVAL;
case CONNMAN_PEER_STATE_IDLE:
+ if (is_connecting(peer) || is_connected(peer))
+ return peer_disconnect(peer);
peer->sub_device = NULL;
break;
case CONNMAN_PEER_STATE_ASSOCIATION:
--
1.8.5.5
_______________________________________________
connman mailing list
[email protected]
https://lists.connman.net/mailman/listinfo/connman