This allows station to gracefully clean up things like the diagnostic
interface which is directly tied to stations CONNECTED/DISCONNECTED
states.
---
src/station.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/station.c b/src/station.c
index 9c2b4e64..325175e9 100644
--- a/src/station.c
+++ b/src/station.c
@@ -3486,6 +3486,8 @@ static void station_free(struct station *station)
if (station->connected_bss)
netdev_disconnect(station->netdev, NULL, NULL);
+ station_enter_state(station, STATION_STATE_DISCONNECTED);
+
if (station->netconfig) {
netconfig_destroy(station->netconfig);
station->netconfig = NULL;
--
2.26.2
Show replies by date
netdev_connect_ok is only for station/p2p_client modes but AP
also ends up on the same code path. Check the iftype before
calling netdev_connect_ok.
---
src/netdev.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/netdev.c b/src/netdev.c
index 252ae78a..0feb9e66 100644
--- a/src/netdev.c
+++ b/src/netdev.c
@@ -1337,7 +1337,8 @@ static void try_handshake_complete(struct netdev_handshake_state
*nhs)
nhs->complete = true;
handshake_event(&nhs->super, HANDSHAKE_EVENT_COMPLETE);
- netdev_connect_ok(nhs->netdev);
+ if (nhs->netdev->type == NL80211_IFTYPE_STATION)
+ netdev_connect_ok(nhs->netdev);
}
}
--
2.26.2