'destroy_workqueue()' already drains the queue before destroying it, so there is no need to flush it explicitly. Remove the redundant 'flush_workqueue()' calls. Signed-off-by: Xu Wang <vulab@xxxxxxxxxxx> --- drivers/video/backlight/lm3630a_bl.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/video/backlight/lm3630a_bl.c b/drivers/video/backlight/lm3630a_bl.c index e8b185bb6f5e..1d17c439430e 100644 --- a/drivers/video/backlight/lm3630a_bl.c +++ b/drivers/video/backlight/lm3630a_bl.c @@ -594,7 +594,6 @@ static int lm3630a_remove(struct i2c_client *client) if (pchip->irq) { free_irq(pchip->irq, pchip); - flush_workqueue(pchip->irqthread); destroy_workqueue(pchip->irqthread); } return 0; -- 2.25.1