x86, efi: Set runtime_version to the EFI spec revision
authorMatt Fleming <matt.fleming@intel.com>
Fri, 25 Jan 2013 10:07:25 +0000 (10:07 +0000)
committerMatt Fleming <matt.fleming@intel.com>
Fri, 25 Jan 2013 12:00:16 +0000 (12:00 +0000)
efi.runtime_version is erroneously being set to the value of the
vendor's firmware revision instead of that of the implemented EFI
specification. We can't deduce which EFI functions are available based
on the revision of the vendor's firmware since the version scheme is
likely to be unique to each vendor.

What we really need to know is the revision of the implemented EFI
specification, which is available in the EFI System Table header.

Cc: Seiji Aguchi <seiji.aguchi@hds.com>
Cc: Matthew Garrett <mjg59@srcf.ucam.org>
Cc: stable@vger.kernel.org # 3.7.x
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
arch/x86/platform/efi/efi.c

index ad4439145f858314dfe518cf7cd9336c5fe9c96d..35682489f6d6672025b349d5c0126a3a0611d719 100644 (file)
@@ -941,7 +941,7 @@ void __init efi_enter_virtual_mode(void)
         *
         * Call EFI services through wrapper functions.
         */
-       efi.runtime_version = efi_systab.fw_revision;
+       efi.runtime_version = efi_systab.hdr.revision;
        efi.get_time = virt_efi_get_time;
        efi.set_time = virt_efi_set_time;
        efi.get_wakeup_time = virt_efi_get_wakeup_time;