Messages in this thread Patch in this message |  | | | Date | Fri, 22 Oct 2010 14:17:13 -0700 | | From | Vernon Mauery <> | | Subject | [Patch 2/2] ibm_rtl: check for efi_enabled |
| |
I tested ibm_rtl on an IBM machine that is supported by this driver in Legacy BIOS mode, but which was running in UEFI mode and the system complained about remapping the EBDA because the EBDA should not have been there to start with. This patch fixes that:
--Vernon
ibm_rtl: _RTL_ is not available in UEFI mode
Some of the IBM servers that are supported by ibm_rtl can run in both Legacy mode (BIOS) and in UEFI mode. When running in UEFI mode, it is possible that the EBDA table exists but cannot be mapped and reports errors. We need to make sure that by default we don't try to probe the machines if they are running in UEFI mode.
Signed-off-by: Vernon Mauery <vernux@us.ibm.com>
diff --git a/drivers/platform/x86/ibm_rtl.c b/drivers/platform/x86/ibm_rtl.c index c5a0061..3cff0e5 100644 --- a/drivers/platform/x86/ibm_rtl.c +++ b/drivers/platform/x86/ibm_rtl.c @@ -28,6 +28,7 @@ #include <linux/io.h> #include <linux/sysdev.h> #include <linux/dmi.h> +#include <linux/efi.h> #include <linux/mutex.h> #include <asm/bios_ebda.h> @@ -238,7 +239,7 @@ static int __init ibm_rtl_init(void) { if (force) pr_warning("ibm-rtl: module loaded by force\n"); /* first ensure that we are running on IBM HW */ - else if (!dmi_check_system(ibm_rtl_dmi_table)) + else if (efi_enabled || !dmi_check_system(ibm_rtl_dmi_table)) return -ENODEV; /* Get the address for the Extended BIOS Data Area */
|  |