View | Details | Raw Unified | Return to bug 153541 | Differences between
and this patch

Collapse All | Expand All

(-)a/drivers/acpi/acpica/dsmethod.c (-2 / +8 lines)
Lines 99-109 acpi_ds_auto_serialize_method(struct acpi_namespace_node *node, Link Here
99
			  "Method auto-serialization parse [%4.4s] %p\n",
99
			  "Method auto-serialization parse [%4.4s] %p\n",
100
			  acpi_ut_get_node_name(node), node));
100
			  acpi_ut_get_node_name(node), node));
101
101
102
	acpi_ex_enter_interpreter();
103
102
	/* Create/Init a root op for the method parse tree */
104
	/* Create/Init a root op for the method parse tree */
103
105
104
	op = acpi_ps_alloc_op(AML_METHOD_OP, obj_desc->method.aml_start);
106
	op = acpi_ps_alloc_op(AML_METHOD_OP, obj_desc->method.aml_start);
105
	if (!op) {
107
	if (!op) {
106
		return_ACPI_STATUS(AE_NO_MEMORY);
108
		status = AE_NO_MEMORY;
109
		goto unlock;
107
	}
110
	}
108
111
109
	acpi_ps_set_name(op, node->name.integer);
112
	acpi_ps_set_name(op, node->name.integer);
Lines 115-121 acpi_ds_auto_serialize_method(struct acpi_namespace_node *node, Link Here
115
	    acpi_ds_create_walk_state(node->owner_id, NULL, NULL, NULL);
118
	    acpi_ds_create_walk_state(node->owner_id, NULL, NULL, NULL);
116
	if (!walk_state) {
119
	if (!walk_state) {
117
		acpi_ps_free_op(op);
120
		acpi_ps_free_op(op);
118
		return_ACPI_STATUS(AE_NO_MEMORY);
121
		status = AE_NO_MEMORY;
122
		goto unlock;
119
	}
123
	}
120
124
121
	status = acpi_ds_init_aml_walk(walk_state, op, node,
125
	status = acpi_ds_init_aml_walk(walk_state, op, node,
Lines 134-139 acpi_ds_auto_serialize_method(struct acpi_namespace_node *node, Link Here
134
	status = acpi_ps_parse_aml(walk_state);
138
	status = acpi_ps_parse_aml(walk_state);
135
139
136
	acpi_ps_delete_parse_tree(op);
140
	acpi_ps_delete_parse_tree(op);
141
unlock:
142
	acpi_ex_exit_interpreter();
137
	return_ACPI_STATUS(status);
143
	return_ACPI_STATUS(status);
138
}
144
}
139
145
(-)a/drivers/acpi/acpica/psparse.c (-1 / +2 lines)
Lines 537-545 acpi_status acpi_ps_parse_aml(struct acpi_walk_state *walk_state) Link Here
537
537
538
			/* Either the method parse or actual execution failed */
538
			/* Either the method parse or actual execution failed */
539
539
540
			acpi_ex_exit_interpreter();
540
			ACPI_ERROR_METHOD("Method parse/execution failed",
541
			ACPI_ERROR_METHOD("Method parse/execution failed",
541
					  walk_state->method_node, NULL,
542
					  walk_state->method_node, NULL,
542
					  status);
543
					  status);
544
			acpi_ex_enter_interpreter();
543
545
544
			/* Check for possible multi-thread reentrancy problem */
546
			/* Check for possible multi-thread reentrancy problem */
545
547
546
- 

Return to bug 153541