aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/x86/boot/compressed/eboot.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/x86/boot/compressed/eboot.c b/arch/x86/boot/compressed/eboot.c
index dc30c1732057..de8eebd6f67c 100644
--- a/arch/x86/boot/compressed/eboot.c
+++ b/arch/x86/boot/compressed/eboot.c
@@ -268,18 +268,20 @@ void efi_char16_printk(efi_system_table_t *table, efi_char16_t *str)
268 268
269 offset = offsetof(typeof(*out), output_string); 269 offset = offsetof(typeof(*out), output_string);
270 output_string = efi_early->text_output + offset; 270 output_string = efi_early->text_output + offset;
271 out = (typeof(out))(unsigned long)efi_early->text_output;
271 func = (u64 *)output_string; 272 func = (u64 *)output_string;
272 273
273 efi_early->call(*func, efi_early->text_output, str); 274 efi_early->call(*func, out, str);
274 } else { 275 } else {
275 struct efi_simple_text_output_protocol_32 *out; 276 struct efi_simple_text_output_protocol_32 *out;
276 u32 *func; 277 u32 *func;
277 278
278 offset = offsetof(typeof(*out), output_string); 279 offset = offsetof(typeof(*out), output_string);
279 output_string = efi_early->text_output + offset; 280 output_string = efi_early->text_output + offset;
281 out = (typeof(out))(unsigned long)efi_early->text_output;
280 func = (u32 *)output_string; 282 func = (u32 *)output_string;
281 283
282 efi_early->call(*func, efi_early->text_output, str); 284 efi_early->call(*func, out, str);
283 } 285 }
284} 286}
285 287