diff mbox series

[v2] spi: lantiq-ssc: Fix warning by using WQ_MEM_RECLAIM

Message ID 20200717215648.20522-1-hauke@hauke-m.de (mailing list archive)
State Accepted
Commit ba3548cf29616b58c93bbaffc3d636898d009858
Headers show
Series [v2] spi: lantiq-ssc: Fix warning by using WQ_MEM_RECLAIM | expand

Commit Message

Hauke Mehrtens July 17, 2020, 9:56 p.m. UTC
The lantiq-ssc driver uses internally an own workqueue to wait till the
data is not only written out of the FIFO but really written to the wire.
This workqueue is flushed while the SPI subsystem is working in some
other system workqueue.

The system workqueue is marked as WQ_MEM_RECLAIM, but the workqueue in
the lantiq-ssc driver does not use WQ_MEM_RECLAIM for now. Add this flag
too to prevent this warning.

This fixes the following warning:
[    2.975956] WARNING: CPU: 1 PID: 17 at kernel/workqueue.c:2614 check_flush_dependency+0x168/0x184
[    2.984752] workqueue: WQ_MEM_RECLAIM kblockd:blk_mq_run_work_fn is flushing !WQ_MEM_RECLAIM 1e100800.spi:0x0

Fixes: 891b7c5fbf61 ("mtd_blkdevs: convert to blk-mq")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
---
 drivers/spi/spi-lantiq-ssc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Mark Brown July 20, 2020, 2:38 p.m. UTC | #1
On Fri, 17 Jul 2020 23:56:48 +0200, Hauke Mehrtens wrote:
> The lantiq-ssc driver uses internally an own workqueue to wait till the
> data is not only written out of the FIFO but really written to the wire.
> This workqueue is flushed while the SPI subsystem is working in some
> other system workqueue.
> 
> The system workqueue is marked as WQ_MEM_RECLAIM, but the workqueue in
> the lantiq-ssc driver does not use WQ_MEM_RECLAIM for now. Add this flag
> too to prevent this warning.
> 
> [...]

Applied to

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next

Thanks!

[1/1] spi: lantiq-ssc: Fix warning by using WQ_MEM_RECLAIM
      commit: ba3548cf29616b58c93bbaffc3d636898d009858

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark
diff mbox series

Patch

diff --git a/drivers/spi/spi-lantiq-ssc.c b/drivers/spi/spi-lantiq-ssc.c
index 1fd7ee53d451..a12a5d0cfebf 100644
--- a/drivers/spi/spi-lantiq-ssc.c
+++ b/drivers/spi/spi-lantiq-ssc.c
@@ -899,7 +899,7 @@  static int lantiq_ssc_probe(struct platform_device *pdev)
 	master->bits_per_word_mask = SPI_BPW_RANGE_MASK(2, 8) |
 				     SPI_BPW_MASK(16) | SPI_BPW_MASK(32);
 
-	spi->wq = alloc_ordered_workqueue(dev_name(dev), 0);
+	spi->wq = alloc_ordered_workqueue(dev_name(dev), WQ_MEM_RECLAIM);
 	if (!spi->wq) {
 		err = -ENOMEM;
 		goto err_clk_put;