Commit 47a9973d authored by Andy Shevchenko's avatar Andy Shevchenko Committed by Ingo Molnar

x86/PCI: Fix a potential regression when using dmi_get_bios_year()

dmi_get_bios_year() may return 0 when it cannot parse
the BIOS date string. Previously this has been checked in
pci_acpi_crs_quirks().

Update the code to restore old behaviour.
Reported-by: default avatarJean Delvare <jdelvare@suse.de>
Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: default avatarJean Delvare <jdelvare@suse.de>
Reviewed-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
Acked-by: default avatarThomas Gleixner <tglx@linutronix.de>
Cc: Bjorn Helgaas <bhelgaas@google.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Lukas Wunner <lukas@wunner.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Rafael J . Wysocki <rjw@rjwysocki.net>
Cc: linux-acpi@vger.kernel.org
Cc: linux-pci@vger.kernel.org
Fixes: 69c42d49 ("x86/pci: Simplify code by using the new dmi_get_bios_year() helper")
Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
parent 3af34525
...@@ -140,7 +140,9 @@ static const struct dmi_system_id pci_crs_quirks[] __initconst = { ...@@ -140,7 +140,9 @@ static const struct dmi_system_id pci_crs_quirks[] __initconst = {
void __init pci_acpi_crs_quirks(void) void __init pci_acpi_crs_quirks(void)
{ {
if ((dmi_get_bios_year() < 2008) && (iomem_resource.end <= 0xffffffff)) int year = dmi_get_bios_year();
if (year >= 0 && year < 2008 && iomem_resource.end <= 0xffffffff)
pci_use_crs = false; pci_use_crs = false;
dmi_check_system(pci_crs_quirks); dmi_check_system(pci_crs_quirks);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment