diff options
Diffstat (limited to 'drivers/acpi/apei/apei-base.c')
| -rw-r--r-- | drivers/acpi/apei/apei-base.c | 11 | 
1 files changed, 5 insertions, 6 deletions
diff --git a/drivers/acpi/apei/apei-base.c b/drivers/acpi/apei/apei-base.c index 46f80e2c92f..8678dfe5366 100644 --- a/drivers/acpi/apei/apei-base.c +++ b/drivers/acpi/apei/apei-base.c @@ -34,13 +34,13 @@  #include <linux/module.h>  #include <linux/init.h>  #include <linux/acpi.h> -#include <linux/acpi_io.h>  #include <linux/slab.h>  #include <linux/io.h>  #include <linux/kref.h>  #include <linux/rculist.h>  #include <linux/interrupt.h>  #include <linux/debugfs.h> +#include <asm/unaligned.h>  #include "apei-internal.h" @@ -567,8 +567,7 @@ static int apei_check_gar(struct acpi_generic_address *reg, u64 *paddr,  	bit_offset = reg->bit_offset;  	access_size_code = reg->access_width;  	space_id = reg->space_id; -	/* Handle possible alignment issues */ -	memcpy(paddr, ®->address, sizeof(*paddr)); +	*paddr = get_unaligned(®->address);  	if (!*paddr) {  		pr_warning(FW_BUG APEI_PFX  			   "Invalid physical address in GAR [0x%llx/%u/%u/%u/%u]\n", @@ -758,9 +757,9 @@ int apei_osc_setup(void)  		.cap.pointer	= capbuf,  	}; -	capbuf[OSC_QUERY_TYPE] = OSC_QUERY_ENABLE; -	capbuf[OSC_SUPPORT_TYPE] = 1; -	capbuf[OSC_CONTROL_TYPE] = 0; +	capbuf[OSC_QUERY_DWORD] = OSC_QUERY_ENABLE; +	capbuf[OSC_SUPPORT_DWORD] = 1; +	capbuf[OSC_CONTROL_DWORD] = 0;  	if (ACPI_FAILURE(acpi_get_handle(NULL, "\\_SB", &handle))  	    || ACPI_FAILURE(acpi_run_osc(handle, &context)))  | 
