Fix bug in PAN code where no new PAN connections can be made.
If you call PAN_connect() followed quickly by PAN_disconnect(),
you won't be able to establish any additional PANU connections.
This happens because the connection never has a chance to make
it into PAN_STATE_CONNECTED and num_conns only gets decremented
if you disconnect in the connected state. As a result, subsequent
calls to connect will fail because the stack still believes there
to be an existing connection.
Change-Id: Id24873828ca4f517496cb19a44993d0e8e837a1e
diff --git a/stack/pan/pan_api.c b/stack/pan/pan_api.c
index 6aa24b9..90bf2d0 100644
--- a/stack/pan/pan_api.c
+++ b/stack/pan/pan_api.c
@@ -465,7 +465,7 @@
}
result = BNEP_Disconnect (pcb->handle);
- if (pcb->con_state == PAN_STATE_CONNECTED)
+ if (pcb->con_state != PAN_STATE_IDLE)
pan_cb.num_conns--;
if (pan_cb.pan_bridge_req_cb && pcb->src_uuid == UUID_SERVCLASS_NAP)