From aae07f7ea70af5a24170e1d9026ffb016da41a68 Mon Sep 17 00:00:00 2001 From: Jet Chen Date: Wed, 2 Sep 2015 09:20:52 -0700 Subject: [PATCH] DCA: fix over-warning in ioat3_dca_init We keep seeing such dmesg messages on boxes WARNING: CPU: 0 PID: 457 at drivers/dma/ioat/dca.c:697 ioat3_dca_init+0x19c/0x1b0 [ioatdma]() [ 16.609614] ioatdma 0000:00:04.0: APICID_TAG_MAP set incorrectly by BIOS, disabling DCA ... [] dump_stack+0x4d/0x66 [] warn_slowpath_common+0x7d/0xa0 [] warn_slowpath_fmt_taint+0x44/0x50 [] ioat3_dca_init+0x19c/0x1b0 [ioatdma] [] ioat3_dma_probe+0x386/0x3e0 [ioatdma] [] ioat_pci_probe+0x122/0x1b0 [ioatdma] [] local_pci_probe+0x45/0xa0 [] work_for_cpu_fn+0x14/0x20 [] process_one_work+0x183/0x490 [] worker_thread+0x2a3/0x410 [] ? rescuer_thread+0x410/0x410 [] kthread+0xd2/0xf0 [] ? No need to use WARN_TAINT_ONCE to generate a such big noise if this is not a critical error for kernel. DCA driver could print out a debug messages then quit quietly. If this is a real BIOS bug, please ignore this patch. Let's transfer this issue to BIOS guys. Thread: https://lkml.org/lkml/2014/5/8/446 Orabug: 21666295 Signed-off-by: Jet Chen Signed-off-by: Santosh Shilimkar --- drivers/dma/ioat/dca.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/drivers/dma/ioat/dca.c b/drivers/dma/ioat/dca.c index ea1e107ae884..f7e28e21d126 100644 --- a/drivers/dma/ioat/dca.c +++ b/drivers/dma/ioat/dca.c @@ -467,10 +467,7 @@ struct dca_provider *ioat2_dca_init(struct pci_dev *pdev, void __iomem *iobase) } if (!dca2_tag_map_valid(ioatdca->tag_map)) { - WARN_TAINT_ONCE(1, TAINT_FIRMWARE_WORKAROUND, - "%s %s: APICID_TAG_MAP set incorrectly by BIOS, disabling DCA\n", - dev_driver_string(&pdev->dev), - dev_name(&pdev->dev)); + dev_dbg(&pdev->dev, "APICID_TAG_MAP set incorrectly by BIOS, disabling DCA\n"); free_dca_provider(dca); return NULL; } @@ -688,10 +685,7 @@ struct dca_provider *ioat3_dca_init(struct pci_dev *pdev, void __iomem *iobase) } if (dca3_tag_map_invalid(ioatdca->tag_map)) { - WARN_TAINT_ONCE(1, TAINT_FIRMWARE_WORKAROUND, - "%s %s: APICID_TAG_MAP set incorrectly by BIOS, disabling DCA\n", - dev_driver_string(&pdev->dev), - dev_name(&pdev->dev)); + dev_dbg(&pdev->dev, "APICID_TAG_MAP set incorrectly by BIOS, disabling DCA\n"); free_dca_provider(dca); return NULL; } -- 2.50.1