x86: efi: Turn off efi_enabled after setup on mixed fw/kernel
authorOlof Johansson <olof@lixom.net>
Wed, 24 Oct 2012 17:00:44 +0000 (10:00 -0700)
committerMatt Fleming <matt.fleming@intel.com>
Thu, 25 Oct 2012 18:09:40 +0000 (19:09 +0100)
commit5189c2a7c7769ee9d037d76c1a7b8550ccf3481c
tree29582d23f219fbefe00c216ec8a619ab8bf9996f
parent78bef24e8477653853eb028dfc18471f05e54955
x86: efi: Turn off efi_enabled after setup on mixed fw/kernel

When 32-bit EFI is used with 64-bit kernel (or vice versa), turn off
efi_enabled once setup is done. Beyond setup, it is normally used to
determine if runtime services are available and we will have none.

This will resolve issues stemming from efivars modprobe panicking on a
32/64-bit setup, as well as some reboot issues on similar setups.

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=45991

Reported-by: Marko Kohtala <marko.kohtala@gmail.com>
Reported-by: Maxim Kammerer <mk@dee.su>
Signed-off-by: Olof Johansson <olof@lixom.net>
Acked-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Cc: stable@kernel.org # 3.4 - 3.6
Cc: Matthew Garrett <mjg@redhat.com>
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
arch/x86/include/asm/efi.h
arch/x86/kernel/setup.c
arch/x86/platform/efi/efi.c