From: Tetsuo Handa Date: Sat, 24 Sep 2022 05:11:25 +0000 (+0900) Subject: rapidio/tsi721: replace flush_scheduled_work() with flush_work() X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=7960546c8a284f59a87ce3e1b90b68a9062e0287;p=linux.git rapidio/tsi721: replace flush_scheduled_work() with flush_work() Like commit c4f135d643823a86 ("workqueue: Wrap flush_workqueue() using a macro") says, flush_scheduled_work() is dangerous and will be forbidden. We are on the way for removing all flush_scheduled_work() callers from the kernel, and this patch is for removing flush_scheduled_work() call from tsi721 driver. Since "struct tsi721_device" is per a device struct, I assume that tsi721_remove() needs to wait for only two works associated with that device. Therefore, wait for only these works using flush_work(). Link: https://lkml.kernel.org/r/0e8a2023-7526-f03a-f520-efafbb0ef45c@I-love.SAKURA.ne.jp Signed-off-by: Tetsuo Handa Cc: Alexandre Bounine Cc: Arnd Bergmann Cc: Christophe JAILLET Cc: Matt Porter Signed-off-by: Andrew Morton --- diff --git a/drivers/rapidio/devices/tsi721.c b/drivers/rapidio/devices/tsi721.c index b3134744fb55c..0a42d6a2af24f 100644 --- a/drivers/rapidio/devices/tsi721.c +++ b/drivers/rapidio/devices/tsi721.c @@ -2941,7 +2941,8 @@ static void tsi721_remove(struct pci_dev *pdev) tsi721_disable_ints(priv); tsi721_free_irq(priv); - flush_scheduled_work(); + flush_work(&priv->idb_work); + flush_work(&priv->pw_work); rio_unregister_mport(&priv->mport); tsi721_unregister_dma(priv);