ioat/dca: Update DCA BIOS workarounds to use TAINT_FIRMWARE_WORKAROUND
This patch is meant to be a follow-up for a patch originally submitted under the title "ioat: Do not enable DCA if tag map is invalid". It was brought to my attention that the preferred approach for BIOS workarounds is to set the taint flag for TAINT_FIRMWARE_WORKAROUND for systems that require BIOS workarounds. This change makes it so that the DCA workarounds for broken BIOSes will now use WARN_TAINT_ONCE(1, TAINT_FIRMWARE_WORKAROUND, ...) instead of just printing a message via dev_err. Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
ea3d1cc285
Коммит
f3c78f8515
|
@ -470,8 +470,10 @@ struct dca_provider *ioat2_dca_init(struct pci_dev *pdev, void __iomem *iobase)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!dca2_tag_map_valid(ioatdca->tag_map)) {
|
if (!dca2_tag_map_valid(ioatdca->tag_map)) {
|
||||||
dev_err(&pdev->dev, "APICID_TAG_MAP set incorrectly by BIOS, "
|
WARN_TAINT_ONCE(1, TAINT_FIRMWARE_WORKAROUND,
|
||||||
"disabling DCA\n");
|
"%s %s: APICID_TAG_MAP set incorrectly by BIOS, disabling DCA\n",
|
||||||
|
dev_driver_string(&pdev->dev),
|
||||||
|
dev_name(&pdev->dev));
|
||||||
free_dca_provider(dca);
|
free_dca_provider(dca);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
@ -689,7 +691,10 @@ struct dca_provider *ioat3_dca_init(struct pci_dev *pdev, void __iomem *iobase)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (dca3_tag_map_invalid(ioatdca->tag_map)) {
|
if (dca3_tag_map_invalid(ioatdca->tag_map)) {
|
||||||
dev_err(&pdev->dev, "APICID_TAG_MAP set incorrectly by BIOS, disabling DCA\n");
|
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));
|
||||||
free_dca_provider(dca);
|
free_dca_provider(dca);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
Загрузка…
Ссылка в новой задаче