aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi/acpica/exoparg2.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/acpi/acpica/exoparg2.c')
-rw-r--r--drivers/acpi/acpica/exoparg2.c37
1 files changed, 5 insertions, 32 deletions
diff --git a/drivers/acpi/acpica/exoparg2.c b/drivers/acpi/acpica/exoparg2.c
index 22841bbbe63c..10e104cf0fb9 100644
--- a/drivers/acpi/acpica/exoparg2.c
+++ b/drivers/acpi/acpica/exoparg2.c
@@ -119,33 +119,6 @@ acpi_status acpi_ex_opcode_2A_0T_0R(struct acpi_walk_state *walk_state)
119 status = AE_AML_OPERAND_TYPE; 119 status = AE_AML_OPERAND_TYPE;
120 break; 120 break;
121 } 121 }
122#ifdef ACPI_GPE_NOTIFY_CHECK
123 /*
124 * GPE method wake/notify check. Here, we want to ensure that we
125 * don't receive any "DeviceWake" Notifies from a GPE _Lxx or _Exx
126 * GPE method during system runtime. If we do, the GPE is marked
127 * as "wake-only" and disabled.
128 *
129 * 1) Is the Notify() value == device_wake?
130 * 2) Is this a GPE deferred method? (An _Lxx or _Exx method)
131 * 3) Did the original GPE happen at system runtime?
132 * (versus during wake)
133 *
134 * If all three cases are true, this is a wake-only GPE that should
135 * be disabled at runtime.
136 */
137 if (value == 2) { /* device_wake */
138 status =
139 acpi_ev_check_for_wake_only_gpe(walk_state->
140 gpe_event_info);
141 if (ACPI_FAILURE(status)) {
142
143 /* AE_WAKE_ONLY_GPE only error, means ignore this notify */
144
145 return_ACPI_STATUS(AE_OK)
146 }
147 }
148#endif
149 122
150 /* 123 /*
151 * Dispatch the notify to the appropriate handler 124 * Dispatch the notify to the appropriate handler
@@ -159,7 +132,7 @@ acpi_status acpi_ex_opcode_2A_0T_0R(struct acpi_walk_state *walk_state)
159 132
160 default: 133 default:
161 134
162 ACPI_ERROR((AE_INFO, "Unknown AML opcode %X", 135 ACPI_ERROR((AE_INFO, "Unknown AML opcode 0x%X",
163 walk_state->opcode)); 136 walk_state->opcode));
164 status = AE_AML_BAD_OPCODE; 137 status = AE_AML_BAD_OPCODE;
165 } 138 }
@@ -224,7 +197,7 @@ acpi_status acpi_ex_opcode_2A_2T_1R(struct acpi_walk_state *walk_state)
224 197
225 default: 198 default:
226 199
227 ACPI_ERROR((AE_INFO, "Unknown AML opcode %X", 200 ACPI_ERROR((AE_INFO, "Unknown AML opcode 0x%X",
228 walk_state->opcode)); 201 walk_state->opcode));
229 status = AE_AML_BAD_OPCODE; 202 status = AE_AML_BAD_OPCODE;
230 goto cleanup; 203 goto cleanup;
@@ -441,7 +414,7 @@ acpi_status acpi_ex_opcode_2A_1T_1R(struct acpi_walk_state *walk_state)
441 414
442 if (ACPI_FAILURE(status)) { 415 if (ACPI_FAILURE(status)) {
443 ACPI_EXCEPTION((AE_INFO, status, 416 ACPI_EXCEPTION((AE_INFO, status,
444 "Index (%X%8.8X) is beyond end of object", 417 "Index (0x%8.8X%8.8X) is beyond end of object",
445 ACPI_FORMAT_UINT64(index))); 418 ACPI_FORMAT_UINT64(index)));
446 goto cleanup; 419 goto cleanup;
447 } 420 }
@@ -464,7 +437,7 @@ acpi_status acpi_ex_opcode_2A_1T_1R(struct acpi_walk_state *walk_state)
464 437
465 default: 438 default:
466 439
467 ACPI_ERROR((AE_INFO, "Unknown AML opcode %X", 440 ACPI_ERROR((AE_INFO, "Unknown AML opcode 0x%X",
468 walk_state->opcode)); 441 walk_state->opcode));
469 status = AE_AML_BAD_OPCODE; 442 status = AE_AML_BAD_OPCODE;
470 break; 443 break;
@@ -572,7 +545,7 @@ acpi_status acpi_ex_opcode_2A_0T_1R(struct acpi_walk_state *walk_state)
572 545
573 default: 546 default:
574 547
575 ACPI_ERROR((AE_INFO, "Unknown AML opcode %X", 548 ACPI_ERROR((AE_INFO, "Unknown AML opcode 0x%X",
576 walk_state->opcode)); 549 walk_state->opcode));
577 status = AE_AML_BAD_OPCODE; 550 status = AE_AML_BAD_OPCODE;
578 goto cleanup; 551 goto cleanup;