Let's announce first we are disconnecting and, once done, that we are
idling again.
---
 src/peer.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/peer.c b/src/peer.c
index 7716f67..d314c01 100644
--- a/src/peer.c
+++ b/src/peer.c
@@ -539,6 +539,8 @@ static int peer_disconnect(struct connman_peer *peer)
        connman_agent_cancel(peer);
        reply_pending(peer, ECONNABORTED);
 
+       connman_peer_set_state(peer, CONNMAN_PEER_STATE_DISCONNECT);
+
        if (peer->connection_master)
                stop_dhcp_server(peer);
        else
@@ -547,6 +549,8 @@ static int peer_disconnect(struct connman_peer *peer)
        if (peer_driver->disconnect)
                err = peer_driver->disconnect(peer);
 
+       connman_peer_set_state(peer, CONNMAN_PEER_STATE_IDLE);
+
        return err;
 }
 
-- 
1.8.5.5

_______________________________________________
connman mailing list
[email protected]
https://lists.connman.net/mailman/listinfo/connman

Reply via email to