diff options
| author | Mark Brown <[email protected]> | 2015-10-12 18:09:27 +0100 | 
|---|---|---|
| committer | Mark Brown <[email protected]> | 2015-10-12 18:09:27 +0100 | 
| commit | 79828b4fa835f73cdaf4bffa48696abdcbea9d02 (patch) | |
| tree | 5e0fa7156acb75ba603022bc807df8f2fedb97a8 /drivers/acpi/acpica/psobject.c | |
| parent | 721b51fcf91898299d96f4b72cb9434cda29dce6 (diff) | |
| parent | 8c1a9d6323abf0fb1e5dad96cf3f1c783505ea5a (diff) | |
Merge remote-tracking branch 'asoc/fix/rt5645' into asoc-fix-rt5645
Diffstat (limited to 'drivers/acpi/acpica/psobject.c')
| -rw-r--r-- | drivers/acpi/acpica/psobject.c | 17 | 
1 files changed, 10 insertions, 7 deletions
diff --git a/drivers/acpi/acpica/psobject.c b/drivers/acpi/acpica/psobject.c index 2f5ddd806c58..e54bc2aa7a88 100644 --- a/drivers/acpi/acpica/psobject.c +++ b/drivers/acpi/acpica/psobject.c @@ -66,12 +66,11 @@ static acpi_status acpi_ps_get_aml_opcode(struct acpi_walk_state *walk_state);  static acpi_status acpi_ps_get_aml_opcode(struct acpi_walk_state *walk_state)  { +	u32 aml_offset;  	ACPI_FUNCTION_TRACE_PTR(ps_get_aml_opcode, walk_state); -	walk_state->aml_offset = -	    (u32)ACPI_PTR_DIFF(walk_state->parser_state.aml, -			       walk_state->parser_state.aml_start); +	walk_state->aml = walk_state->parser_state.aml;  	walk_state->opcode = acpi_ps_peek_opcode(&(walk_state->parser_state));  	/* @@ -98,10 +97,14 @@ static acpi_status acpi_ps_get_aml_opcode(struct acpi_walk_state *walk_state)  		/* The opcode is unrecognized. Complain and skip unknown opcodes */  		if (walk_state->pass_number == 2) { +			aml_offset = (u32)ACPI_PTR_DIFF(walk_state->aml, +							walk_state-> +							parser_state.aml_start); +  			ACPI_ERROR((AE_INFO,  				    "Unknown opcode 0x%.2X at table offset 0x%.4X, ignoring",  				    walk_state->opcode, -				    (u32)(walk_state->aml_offset + +				    (u32)(aml_offset +  					  sizeof(struct acpi_table_header))));  			ACPI_DUMP_BUFFER((walk_state->parser_state.aml - 16), @@ -115,14 +118,14 @@ static acpi_status acpi_ps_get_aml_opcode(struct acpi_walk_state *walk_state)  			acpi_os_printf  			    ("/*\nError: Unknown opcode 0x%.2X at table offset 0x%.4X, context:\n",  			     walk_state->opcode, -			     (u32)(walk_state->aml_offset + +			     (u32)(aml_offset +  				   sizeof(struct acpi_table_header)));  			/* Dump the context surrounding the invalid opcode */  			acpi_ut_dump_buffer(((u8 *)walk_state->parser_state.  					     aml - 16), 48, DB_BYTE_DISPLAY, -					    (walk_state->aml_offset + +					    (aml_offset +  					     sizeof(struct acpi_table_header) -  					     16));  			acpi_os_printf(" */\n"); @@ -294,7 +297,7 @@ acpi_ps_create_op(struct acpi_walk_state *walk_state,  	/* Create Op structure and append to parent's argument list */  	walk_state->op_info = acpi_ps_get_opcode_info(walk_state->opcode); -	op = acpi_ps_alloc_op(walk_state->opcode); +	op = acpi_ps_alloc_op(walk_state->opcode, aml_op_start);  	if (!op) {  		return_ACPI_STATUS(AE_NO_MEMORY);  	}  |