From d008b93444fccb751efaff67d4baa1a6db020f5a Mon Sep 17 00:00:00 2001 From: James Prestwood Date: Mon, 5 Apr 2021 15:18:35 -0700 Subject: [PATCH] netdev: add check for running work item in netdev_disconnect The send_disconnect flag was being improperly set based only on connect_cmd_id being zero. This does not take into account the case of CMD_CONNECT having finished but not EAPoL. In this case we do need to send a disconnect. --- src/netdev.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/netdev.c b/src/netdev.c index e7ffb635..0e517468 100644 --- a/src/netdev.c +++ b/src/netdev.c @@ -3214,7 +3214,8 @@ int netdev_disconnect(struct netdev *netdev, if (netdev->connect_cmd_id) { l_genl_family_cancel(nl80211, netdev->connect_cmd_id); netdev->connect_cmd_id = 0; - } else + } else if (!wiphy_radio_work_is_running(netdev->wiphy, + netdev->work.id)) send_disconnect = false; netdev_connect_failed(netdev, NETDEV_RESULT_ABORTED,