aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/pci/dmar.c28
1 files changed, 16 insertions, 12 deletions
diff --git a/drivers/pci/dmar.c b/drivers/pci/dmar.c
index 1959cdadad51..f4c51709d132 100644
--- a/drivers/pci/dmar.c
+++ b/drivers/pci/dmar.c
@@ -360,12 +360,14 @@ dmar_parse_one_rhsa(struct acpi_dmar_header *header)
360 return 0; 360 return 0;
361 } 361 }
362 } 362 }
363 WARN(1, "Your BIOS is broken; RHSA refers to non-existent DMAR unit at %llx\n" 363 WARN_TAINT(
364 "BIOS vendor: %s; Ver: %s; Product Version: %s\n", 364 1, TAINT_FIRMWARE_WORKAROUND,
365 drhd->reg_base_addr, 365 "Your BIOS is broken; RHSA refers to non-existent DMAR unit at %llx\n"
366 dmi_get_system_info(DMI_BIOS_VENDOR), 366 "BIOS vendor: %s; Ver: %s; Product Version: %s\n",
367 dmi_get_system_info(DMI_BIOS_VERSION), 367 drhd->reg_base_addr,
368 dmi_get_system_info(DMI_PRODUCT_VERSION)); 368 dmi_get_system_info(DMI_BIOS_VENDOR),
369 dmi_get_system_info(DMI_BIOS_VERSION),
370 dmi_get_system_info(DMI_PRODUCT_VERSION));
369 371
370 return 0; 372 return 0;
371} 373}
@@ -620,12 +622,14 @@ int __init dmar_table_init(void)
620 622
621static void warn_invalid_dmar(u64 addr, const char *message) 623static void warn_invalid_dmar(u64 addr, const char *message)
622{ 624{
623 WARN_ONCE(1, "Your BIOS is broken; DMAR reported at address %llx%s!\n" 625 WARN_TAINT_ONCE(
624 "BIOS vendor: %s; Ver: %s; Product Version: %s\n", 626 1, TAINT_FIRMWARE_WORKAROUND,
625 addr, message, 627 "Your BIOS is broken; DMAR reported at address %llx%s!\n"
626 dmi_get_system_info(DMI_BIOS_VENDOR), 628 "BIOS vendor: %s; Ver: %s; Product Version: %s\n",
627 dmi_get_system_info(DMI_BIOS_VERSION), 629 addr, message,
628 dmi_get_system_info(DMI_PRODUCT_VERSION)); 630 dmi_get_system_info(DMI_BIOS_VENDOR),
631 dmi_get_system_info(DMI_BIOS_VERSION),
632 dmi_get_system_info(DMI_PRODUCT_VERSION));
629} 633}
630 634
631int __init check_zero_address(void) 635int __init check_zero_address(void)