| From 712ba9e9afc4b3d3d6fa81565ca36fe518915c01 Mon Sep 17 00:00:00 2001 |
| From: Matt Fleming <matt.fleming@intel.com> |
| Date: Fri, 25 Jan 2013 10:07:25 +0000 |
| Subject: x86, efi: Set runtime_version to the EFI spec revision |
| |
| From: Matt Fleming <matt.fleming@intel.com> |
| |
| commit 712ba9e9afc4b3d3d6fa81565ca36fe518915c01 upstream. |
| |
| 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. |
| |
| Signed-off-by: Matt Fleming <matt.fleming@intel.com> |
| Cc: Seiji Aguchi <seiji.aguchi@hds.com> |
| Cc: Matthew Garrett <mjg59@srcf.ucam.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| arch/x86/platform/efi/efi.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/arch/x86/platform/efi/efi.c |
| +++ b/arch/x86/platform/efi/efi.c |
| @@ -949,7 +949,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; |