Message ID | 20220225112405.355599-10-Jerome.Pouiller@silabs.com (mailing list archive) |
---|---|
State | Not Applicable |
Delegated to: | Johannes Berg |
Headers | show |
Series | staging: wfx: usual maintenance | expand |
Hello. I found that commit c86176d51340d5ee ("staging: wfx: ensure HIF request has been sent before polling") started using flush_workqueue(system_highpri_wq). But please avoid flushing system-wide workqueues, for flushing system-wide workqueues is dangerous and will be forbidden. Link: https://lkml.kernel.org/r/49925af7-78a8-a3dd-bce6-cfc02e1a9236@I-love.SAKURA.ne.jp
On Tuesday 12 April 2022 15:11:53 CEST Tetsuo Handa wrote: > Hello. > > I found that commit c86176d51340d5ee ("staging: wfx: ensure HIF request has > been sent before polling") started using flush_workqueue(system_highpri_wq). > > But please avoid flushing system-wide workqueues, for > flushing system-wide workqueues is dangerous and will be forbidden. > > Link: https://lkml.kernel.org/r/49925af7-78a8-a3dd-bce6-cfc02e1a9236@I-love.SAKURA.ne.jp > > There is a workqueue provided by mac80211. But I am not sure it can replace the system-wide workqueue. I guess I need to declare a new workqueue. Give me a couple of weeks to prepare a patch.
diff --git a/drivers/staging/wfx/bh.c b/drivers/staging/wfx/bh.c index 4c6ba9c342a6..bcea9d5b119c 100644 --- a/drivers/staging/wfx/bh.c +++ b/drivers/staging/wfx/bh.c @@ -295,6 +295,7 @@ void wfx_bh_poll_irq(struct wfx_dev *wdev) u32 reg; WARN(!wdev->poll_irq, "unexpected IRQ polling can mask IRQ"); + flush_workqueue(system_highpri_wq); start = ktime_get(); for (;;) { wfx_control_reg_read(wdev, ®);