wireless: Remove redundant 'flush_workqueue()' calls
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Sun, 10 Oct 2021 07:09:11 +0000 (09:09 +0200)
committerKalle Valo <kvalo@codeaurora.org>
Wed, 13 Oct 2021 06:22:19 +0000 (09:22 +0300)
'destroy_workqueue()' already drains the queue before destroying it, so
there is no need to flush it explicitly.

Remove the redundant 'flush_workqueue()' calls.

This was generated with coccinelle:

@@
expression E;
@@
-  flush_workqueue(E);
destroy_workqueue(E);

Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/0855d51423578ad019c0264dad3fe47a2e8af9c7.1633849511.git.christophe.jaillet@wanadoo.fr
13 files changed:
drivers/net/wireless/ath/ath10k/core.c
drivers/net/wireless/ath/ath10k/sdio.c
drivers/net/wireless/intel/iwlegacy/3945-mac.c
drivers/net/wireless/intel/iwlegacy/4965-mac.c
drivers/net/wireless/intel/iwlwifi/dvm/main.c
drivers/net/wireless/marvell/mwifiex/cfg80211.c
drivers/net/wireless/marvell/mwifiex/main.c
drivers/net/wireless/microchip/wilc1000/netdev.c
drivers/net/wireless/quantenna/qtnfmac/core.c
drivers/net/wireless/quantenna/qtnfmac/pcie/pcie.c
drivers/net/wireless/realtek/rtlwifi/pci.c
drivers/net/wireless/rndis_wlan.c
drivers/net/wireless/st/cw1200/bh.c

index c21e05549f6199afd59c687fd84c978de16e6fbf..112e04bb0e57bb269cfb80e03525ff049e6b4414 100644 (file)
@@ -3520,13 +3520,10 @@ EXPORT_SYMBOL(ath10k_core_create);
 
 void ath10k_core_destroy(struct ath10k *ar)
 {
-       flush_workqueue(ar->workqueue);
        destroy_workqueue(ar->workqueue);
 
-       flush_workqueue(ar->workqueue_aux);
        destroy_workqueue(ar->workqueue_aux);
 
-       flush_workqueue(ar->workqueue_tx_complete);
        destroy_workqueue(ar->workqueue_tx_complete);
 
        ath10k_debug_destroy(ar);
index eb705214f3f0a7589a73326a4459924d849f3f3e..63e1c2d783c5fe29ca030ac1f2f497d658b5dac9 100644 (file)
@@ -2650,7 +2650,6 @@ static void ath10k_sdio_remove(struct sdio_func *func)
 
        ath10k_core_destroy(ar);
 
-       flush_workqueue(ar_sdio->workqueue);
        destroy_workqueue(ar_sdio->workqueue);
 }
 
index 45abb25b65a9f2ec909b4c603c001657df332d9a..bd4e7d75295836a7d15290a60296255e37e73050 100644 (file)
@@ -3819,7 +3819,6 @@ il3945_pci_remove(struct pci_dev *pdev)
        il3945_unset_hw_params(il);
 
        /*netif_stop_queue(dev); */
-       flush_workqueue(il->workqueue);
 
        /* ieee80211_unregister_hw calls il3945_mac_stop, which flushes
         * il->workqueue... so we can't take down the workqueue
index 0223532fd56a08af37910b1530c7308541f5da30..d93900e62e3d33d3382b61961a40d3e91e50efb6 100644 (file)
@@ -6731,7 +6731,6 @@ il4965_pci_remove(struct pci_dev *pdev)
        il_eeprom_free(il);
 
        /*netif_stop_queue(dev); */
-       flush_workqueue(il->workqueue);
 
        /* ieee80211_unregister_hw calls il_mac_stop, which flushes
         * il->workqueue... so we can't take down the workqueue
index cc7b69fd14d37b5a59efe74cc4ba31b8478c047c..69d1aae96bbb4b1c9b3b5cca9a4672d91383209d 100644 (file)
@@ -1525,7 +1525,6 @@ static void iwl_op_mode_dvm_stop(struct iwl_op_mode *op_mode)
        kfree(priv->nvm_data);
 
        /*netif_stop_queue(dev); */
-       flush_workqueue(priv->workqueue);
 
        /* ieee80211_unregister_hw calls iwlagn_mac_stop, which flushes
         * priv->workqueue... so we can't take down the workqueue
index d62a20de3adadf2d183a8f1a9b0a3518a40ecf2f..ef697572a293ca9305505675bfc7c67f893dbabd 100644 (file)
@@ -3218,13 +3218,11 @@ int mwifiex_del_virtual_intf(struct wiphy *wiphy, struct wireless_dev *wdev)
                cfg80211_unregister_netdevice(wdev->netdev);
 
        if (priv->dfs_cac_workqueue) {
-               flush_workqueue(priv->dfs_cac_workqueue);
                destroy_workqueue(priv->dfs_cac_workqueue);
                priv->dfs_cac_workqueue = NULL;
        }
 
        if (priv->dfs_chan_sw_workqueue) {
-               flush_workqueue(priv->dfs_chan_sw_workqueue);
                destroy_workqueue(priv->dfs_chan_sw_workqueue);
                priv->dfs_chan_sw_workqueue = NULL;
        }
index 17399d4aa12902cf44426a15d6fa18793799f313..7943fd3b3058d27bdefc7c3da7280a86a0702bbf 100644 (file)
@@ -498,13 +498,11 @@ static void mwifiex_free_adapter(struct mwifiex_adapter *adapter)
 static void mwifiex_terminate_workqueue(struct mwifiex_adapter *adapter)
 {
        if (adapter->workqueue) {
-               flush_workqueue(adapter->workqueue);
                destroy_workqueue(adapter->workqueue);
                adapter->workqueue = NULL;
        }
 
        if (adapter->rx_workqueue) {
-               flush_workqueue(adapter->rx_workqueue);
                destroy_workqueue(adapter->rx_workqueue);
                adapter->rx_workqueue = NULL;
        }
index 7e4d9235251cb3f6722fc18f249253e3deaec50f..d3b33c6ab93afff1b1b855da5a7b9d6584831038 100644 (file)
@@ -880,7 +880,6 @@ void wilc_netdev_cleanup(struct wilc *wilc)
        srcu_read_unlock(&wilc->srcu, srcu_idx);
 
        wilc_wfi_deinit_mon_interface(wilc, false);
-       flush_workqueue(wilc->hif_workqueue);
        destroy_workqueue(wilc->hif_workqueue);
 
        while (ifc_cnt < WILC_NUM_CONCURRENT_IFC) {
index b4dd60b2ebc90724d1ed8777f50769561abb847b..01725237836e8d4aaf08cc2c2e344d2353893114 100644 (file)
@@ -811,13 +811,11 @@ void qtnf_core_detach(struct qtnf_bus *bus)
        bus->fw_state = QTNF_FW_STATE_DETACHED;
 
        if (bus->workqueue) {
-               flush_workqueue(bus->workqueue);
                destroy_workqueue(bus->workqueue);
                bus->workqueue = NULL;
        }
 
        if (bus->hprio_workqueue) {
-               flush_workqueue(bus->hprio_workqueue);
                destroy_workqueue(bus->hprio_workqueue);
                bus->hprio_workqueue = NULL;
        }
index 5d93c874d666987b54dc080373340189b8c5ef06..9ad4c120fa287689b918b9ee59d6fb9eec8680c6 100644 (file)
@@ -387,7 +387,6 @@ static int qtnf_pcie_probe(struct pci_dev *pdev, const struct pci_device_id *id)
        return 0;
 
 error:
-       flush_workqueue(pcie_priv->workqueue);
        destroy_workqueue(pcie_priv->workqueue);
        pci_set_drvdata(pdev, NULL);
        return ret;
@@ -416,7 +415,6 @@ static void qtnf_pcie_remove(struct pci_dev *dev)
                qtnf_core_detach(bus);
 
        netif_napi_del(&bus->mux_napi);
-       flush_workqueue(priv->workqueue);
        destroy_workqueue(priv->workqueue);
        tasklet_kill(&priv->reclaim_tq);
 
index 3776495fd9d03f024abb5a6487af1147397358d9..ad327bae754be91b4d7ce1b5d7da99e36c347671 100644 (file)
@@ -1743,7 +1743,6 @@ static void rtl_pci_deinit(struct ieee80211_hw *hw)
        tasklet_kill(&rtlpriv->works.irq_tasklet);
        cancel_work_sync(&rtlpriv->works.lps_change_work);
 
-       flush_workqueue(rtlpriv->works.rtl_wq);
        destroy_workqueue(rtlpriv->works.rtl_wq);
 }
 
index 63ce2443f13647fb7e6a2ebfcd0f598f4ee5352a..ff2448394a1eda6c5404861da7fbb4948315c77c 100644 (file)
@@ -3501,7 +3501,6 @@ fail:
        cancel_delayed_work_sync(&priv->dev_poller_work);
        cancel_delayed_work_sync(&priv->scan_work);
        cancel_work_sync(&priv->work);
-       flush_workqueue(priv->workqueue);
        destroy_workqueue(priv->workqueue);
 
        wiphy_free(wiphy);
@@ -3518,7 +3517,6 @@ static void rndis_wlan_unbind(struct usbnet *usbdev, struct usb_interface *intf)
        cancel_delayed_work_sync(&priv->dev_poller_work);
        cancel_delayed_work_sync(&priv->scan_work);
        cancel_work_sync(&priv->work);
-       flush_workqueue(priv->workqueue);
        destroy_workqueue(priv->workqueue);
 
        rndis_unbind(usbdev, intf);
index 8bade5d89f12f8d3d4f1fc03f1d6c7fcad57d433..10e019cddcc6545384dec985d9042ba7793a9499 100644 (file)
@@ -85,8 +85,6 @@ void cw1200_unregister_bh(struct cw1200_common *priv)
        atomic_inc(&priv->bh_term);
        wake_up(&priv->bh_wq);
 
-       flush_workqueue(priv->bh_workqueue);
-
        destroy_workqueue(priv->bh_workqueue);
        priv->bh_workqueue = NULL;