]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
ethernet: Remove redundant 'flush_workqueue()' calls
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Sun, 10 Oct 2021 07:01:32 +0000 (09:01 +0200)
committerDavid S. Miller <davem@davemloft.net>
Sun, 10 Oct 2021 10:33:15 +0000 (11:33 +0100)
'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>
Reviewed-by: Leon Romanovsky <leonro@nvidia.com> #mlx*
Signed-off-by: David S. Miller <davem@davemloft.net>
12 files changed:
drivers/net/ethernet/amd/xgbe/xgbe-drv.c
drivers/net/ethernet/brocade/bna/bnad.c
drivers/net/ethernet/cavium/liquidio/lio_core.c
drivers/net/ethernet/emulex/benet/be_main.c
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
drivers/net/ethernet/marvell/octeontx2/af/rvu.c
drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c
drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c
drivers/net/ethernet/mellanox/mlx4/cmd.c
drivers/net/ethernet/mellanox/mlx4/en_main.c
drivers/net/ethernet/mellanox/mlx5/core/diag/fw_tracer.c
drivers/net/ethernet/qlogic/qed/qed_sriov.c

index b5bf5af8db5f61baf9f5d7c0fe39ebc371564cd5..30d24d19f40d11732e1fbaea77d9bea0cce1abe5 100644 (file)
@@ -1912,10 +1912,8 @@ static int xgbe_close(struct net_device *netdev)
        clk_disable_unprepare(pdata->ptpclk);
        clk_disable_unprepare(pdata->sysclk);
 
-       flush_workqueue(pdata->an_workqueue);
        destroy_workqueue(pdata->an_workqueue);
 
-       flush_workqueue(pdata->dev_workqueue);
        destroy_workqueue(pdata->dev_workqueue);
 
        set_bit(XGBE_DOWN, &pdata->dev_state);
index b1947fd9a07cca9fce91b641b3786f125ffdb5fe..bbdc829c352433fc1bbd7e12939af22a8396980e 100644 (file)
@@ -3515,7 +3515,6 @@ static void
 bnad_uninit(struct bnad *bnad)
 {
        if (bnad->work_q) {
-               flush_workqueue(bnad->work_q);
                destroy_workqueue(bnad->work_q);
                bnad->work_q = NULL;
        }
index ec7928b54e4a785d432c279f7d3a7bf0417487a4..73cb03266549ca29c1e869fef1ff7c487e9b1c0a 100644 (file)
@@ -490,7 +490,6 @@ void cleanup_rx_oom_poll_fn(struct net_device *netdev)
                wq = &lio->rxq_status_wq[q_no];
                if (wq->wq) {
                        cancel_delayed_work_sync(&wq->wk.work);
-                       flush_workqueue(wq->wq);
                        destroy_workqueue(wq->wq);
                        wq->wq = NULL;
                }
index ef60e2da05a45af39d7d7be6f4bdb1f04f8f738b..736a6ea86eb1b4b646f1e1e45d43a01241cf5b6f 100644 (file)
@@ -4621,7 +4621,6 @@ static void be_destroy_err_recovery_workq(void)
        if (!be_err_recovery_workq)
                return;
 
-       flush_workqueue(be_err_recovery_workq);
        destroy_workqueue(be_err_recovery_workq);
        be_err_recovery_workq = NULL;
 }
index d379a35c4618fdf9324adb4c231b4ff047e0f6bc..186d00a9ab35c3a12ff6d0137980980ea2011b8a 100644 (file)
@@ -1519,7 +1519,6 @@ static int cgx_lmac_exit(struct cgx *cgx)
        int i;
 
        if (cgx->cgx_cmd_workq) {
-               flush_workqueue(cgx->cgx_cmd_workq);
                destroy_workqueue(cgx->cgx_cmd_workq);
                cgx->cgx_cmd_workq = NULL;
        }
index 4cb24e91e648a547128741536d7af873d2825bb4..0a1e9f6e216a096133d233da3a3fdc0d3b5f0ba6 100644 (file)
@@ -2399,7 +2399,6 @@ static void rvu_mbox_destroy(struct mbox_wq_info *mw)
        int devid;
 
        if (mw->mbox_wq) {
-               flush_workqueue(mw->mbox_wq);
                destroy_workqueue(mw->mbox_wq);
                mw->mbox_wq = NULL;
        }
@@ -2944,7 +2943,6 @@ fail:
 static void rvu_flr_wq_destroy(struct rvu *rvu)
 {
        if (rvu->flr_wq) {
-               flush_workqueue(rvu->flr_wq);
                destroy_workqueue(rvu->flr_wq);
                rvu->flr_wq = NULL;
        }
index c3842e4546579a245b1a13586b9045092160b1f8..2ca182a4ce8236a37f64da7f9fdbe2e6ea2ad3fc 100644 (file)
@@ -324,7 +324,6 @@ static int cgx_lmac_event_handler_init(struct rvu *rvu)
 static void rvu_cgx_wq_destroy(struct rvu *rvu)
 {
        if (rvu->cgx_evh_wq) {
-               flush_workqueue(rvu->cgx_evh_wq);
                destroy_workqueue(rvu->cgx_evh_wq);
                rvu->cgx_evh_wq = NULL;
        }
index 980219a7e6fef82ac3952f188f70f337fe02b7d7..e6cb8cd0787d3094a97413e3a96467a4ec09cd63 100644 (file)
@@ -279,7 +279,6 @@ static void otx2vf_vfaf_mbox_destroy(struct otx2_nic *vf)
        struct mbox *mbox = &vf->mbox;
 
        if (vf->mbox_wq) {
-               flush_workqueue(vf->mbox_wq);
                destroy_workqueue(vf->mbox_wq);
                vf->mbox_wq = NULL;
        }
index 94ead263081f420508709bb3cb0531d84bccd178..e10b7b04b8941022e2103a93ed209e265d1da5ec 100644 (file)
@@ -2480,7 +2480,6 @@ int mlx4_multi_func_init(struct mlx4_dev *dev)
        return 0;
 
 err_thread:
-       flush_workqueue(priv->mfunc.master.comm_wq);
        destroy_workqueue(priv->mfunc.master.comm_wq);
 err_slaves:
        while (i--) {
@@ -2587,7 +2586,6 @@ void mlx4_multi_func_cleanup(struct mlx4_dev *dev)
        int i, port;
 
        if (mlx4_is_master(dev)) {
-               flush_workqueue(priv->mfunc.master.comm_wq);
                destroy_workqueue(priv->mfunc.master.comm_wq);
                for (i = 0; i < dev->num_slaves; i++) {
                        for (port = 1; port <= MLX4_MAX_PORTS; port++)
index 109472d6b61f1948ce257e9504cc2fa2d4f1146b..f1259bdb1a29653630cf9413cde09cd3c3666f06 100644 (file)
@@ -237,7 +237,6 @@ static void mlx4_en_remove(struct mlx4_dev *dev, void *endev_ptr)
                if (mdev->pndev[i])
                        mlx4_en_destroy_netdev(mdev->pndev[i]);
 
-       flush_workqueue(mdev->workqueue);
        destroy_workqueue(mdev->workqueue);
        (void) mlx4_mr_free(dev, &mdev->mr);
        iounmap(mdev->uar_map);
index f9cf9fb31547973e41808db83ce27500052f0758..da1bec04efffd92b4e0b83d086768dc114e1b2ce 100644 (file)
@@ -1069,7 +1069,6 @@ void mlx5_fw_tracer_destroy(struct mlx5_fw_tracer *tracer)
        mlx5_fw_tracer_clean_saved_traces_array(tracer);
        mlx5_fw_tracer_free_strings_db(tracer);
        mlx5_fw_tracer_destroy_log_buf(tracer);
-       flush_workqueue(tracer->work_queue);
        destroy_workqueue(tracer->work_queue);
        kvfree(tracer);
 }
index f88f58ec2a2092afe3378b84f448bfd48e0060dd..8ac38828ba459796bfd426ff130530b83f1fa7c5 100644 (file)
@@ -5224,7 +5224,6 @@ void qed_iov_wq_stop(struct qed_dev *cdev, bool schedule_first)
                        cancel_delayed_work_sync(&cdev->hwfns[i].iov_task);
                }
 
-               flush_workqueue(cdev->hwfns[i].iov_wq);
                destroy_workqueue(cdev->hwfns[i].iov_wq);
        }
 }