diff options
| author | Jonathan Corbet <corbet@lwn.net> | 2016-11-18 16:13:41 -0700 |
|---|---|---|
| committer | Jonathan Corbet <corbet@lwn.net> | 2016-11-18 16:13:41 -0700 |
| commit | 917fef6f7ee8b2fe852692ac49771342bfef9433 (patch) | |
| tree | b5932aab90d449841803b6f8679a4564ca2a6eaf /arch/x86/platform/uv/bios_uv.c | |
| parent | 0c9aa209579d41c9b8bf1fc39ce042bea2ec422d (diff) | |
| parent | bc33b0ca11e3df467777a4fa7639ba488c9d4911 (diff) | |
Merge tag 'v4.9-rc4' into sound
Bring in -rc4 patches so I can successfully merge the sound doc changes.
Diffstat (limited to 'arch/x86/platform/uv/bios_uv.c')
| -rw-r--r-- | arch/x86/platform/uv/bios_uv.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/arch/x86/platform/uv/bios_uv.c b/arch/x86/platform/uv/bios_uv.c index b4d5e95fe4df..4a6a5a26c582 100644 --- a/arch/x86/platform/uv/bios_uv.c +++ b/arch/x86/platform/uv/bios_uv.c @@ -40,7 +40,15 @@ s64 uv_bios_call(enum uv_bios_cmd which, u64 a1, u64 a2, u64 a3, u64 a4, u64 a5) */ return BIOS_STATUS_UNIMPLEMENTED; - ret = efi_call_virt_pointer(tab, function, (u64)which, a1, a2, a3, a4, a5); + /* + * If EFI_OLD_MEMMAP is set, we need to fall back to using our old EFI + * callback method, which uses efi_call() directly, with the kernel page tables: + */ + if (unlikely(test_bit(EFI_OLD_MEMMAP, &efi.flags))) + ret = efi_call((void *)__va(tab->function), (u64)which, a1, a2, a3, a4, a5); + else + ret = efi_call_virt_pointer(tab, function, (u64)which, a1, a2, a3, a4, a5); + return ret; } EXPORT_SYMBOL_GPL(uv_bios_call); |
