]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
DCA: fix over-warning in ioat3_dca_init
authorJet Chen <jet.chen@intel.com>
Wed, 2 Sep 2015 16:20:52 +0000 (09:20 -0700)
committerSantosh Shilimkar <santosh.shilimkar@oracle.com>
Fri, 4 Sep 2015 17:38:37 +0000 (10:38 -0700)
 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
 ...
 [<ffffffff8172807e>] dump_stack+0x4d/0x66
 [<ffffffff81067f7d>] warn_slowpath_common+0x7d/0xa0
 [<ffffffff81068034>] warn_slowpath_fmt_taint+0x44/0x50
 [<ffffffffa00228bc>] ioat3_dca_init+0x19c/0x1b0
 [ioatdma]
 [<ffffffffa0021cd6>] ioat3_dma_probe+0x386/0x3e0
 [ioatdma]
 [<ffffffffa001a192>] ioat_pci_probe+0x122/0x1b0
 [ioatdma]
 [<ffffffff81329385>] local_pci_probe+0x45/0xa0
 [<ffffffff81080d34>] work_for_cpu_fn+0x14/0x20
 [<ffffffff81083c33>] process_one_work+0x183/0x490
 [<ffffffff81084bd3>] worker_thread+0x2a3/0x410
 [<ffffffff81084930>] ? rescuer_thread+0x410/0x410
 [<ffffffff8108b852>] kthread+0xd2/0xf0
 [<ffffffff8108b780>] ?

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 <jet.chen@intel.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@oracle.com>
drivers/dma/ioat/dca.c

index ea1e107ae884bc66a19e60d6f42b8f76351513ce..f7e28e21d126ad569645bf43e2a6242036815bda 100644 (file)
@@ -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;
        }