From e0f21ed293b5715841789f364d70a89850c0a2c7 Mon Sep 17 00:00:00 2001 From: James Prestwood Date: Fri, 30 Apr 2021 14:15:26 -0700 Subject: [PATCH] netdev: set connected to false in netdev_reassociate Commit 1fe5070 added a workaround for drivers which may send the connect event prior to the connect callback/ack. This caused IWD to fail to start eapol if reassociation was used due to netdev_reassociate never setting netdev->connected = false. netdev_reassociate uses the same code path as normal connections, but when the connect callback came in connected was already set to true which then prevents eapol from being registered. Then, once the connect event comes in, there is no frame watch for eapol and IWD doesn't respond to any handshake frames. --- src/netdev.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/netdev.c b/src/netdev.c index 7a3f15e3..4fbe813a 100644 --- a/src/netdev.c +++ b/src/netdev.c @@ -3449,6 +3449,7 @@ int netdev_reassociate(struct netdev *netdev, struct scan_bss *target_bss, netdev->associated = false; netdev->operational = false; + netdev->connected = false; netdev_rssi_polling_update(netdev);