From 11f42e2476e39ad3ff97f3be598823ed048eb229 Mon Sep 17 00:00:00 2001 From: Denis Kenzior Date: Fri, 28 May 2021 22:36:56 -0500 Subject: [PATCH] netdev: Always cleanup disconnect_cmd_id --- src/netdev.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/netdev.c b/src/netdev.c index c2e0e0de..fd50872a 100644 --- a/src/netdev.c +++ b/src/netdev.c @@ -815,7 +815,8 @@ static void netdev_free(void *data) if (netdev->connected) netdev_connect_free(netdev); - else if (netdev->disconnect_cmd_id) { + + if (netdev->disconnect_cmd_id) { l_genl_family_cancel(nl80211, netdev->disconnect_cmd_id); netdev->disconnect_cmd_id = 0; @@ -826,6 +827,11 @@ static void netdev_free(void *data) netdev->user_data = NULL; } + if (netdev->disconnect_idle) { + l_idle_remove(netdev->disconnect_idle); + netdev->disconnect_idle = NULL; + } + if (netdev->join_adhoc_cmd_id) { l_genl_family_cancel(nl80211, netdev->join_adhoc_cmd_id); netdev->join_adhoc_cmd_id = 0; @@ -864,11 +870,6 @@ static void netdev_free(void *data) if (netdev->fw_roam_bss) scan_bss_free(netdev->fw_roam_bss); - if (netdev->disconnect_idle) { - l_idle_remove(netdev->disconnect_idle); - netdev->disconnect_idle = NULL; - } - if (netdev->ft_ds_list) { l_queue_destroy(netdev->ft_ds_list, netdev_ft_ds_entry_free); netdev->ft_ds_list = NULL;