'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@xxxxxxxxxx> --- drivers/net/ieee802154/ca8210.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/drivers/net/ieee802154/ca8210.c b/drivers/net/ieee802154/ca8210.c index 3a2824f24caa..ece6ff6049f6 100644 --- a/drivers/net/ieee802154/ca8210.c +++ b/drivers/net/ieee802154/ca8210.c @@ -2938,9 +2938,7 @@ static int ca8210_dev_com_init(struct ca8210_priv *priv) */ static void ca8210_dev_com_clear(struct ca8210_priv *priv) { - flush_workqueue(priv->mlme_workqueue); destroy_workqueue(priv->mlme_workqueue); - flush_workqueue(priv->irq_workqueue); destroy_workqueue(priv->irq_workqueue); } -- 2.30.2