Lines 236-245
acpi_status acpi_ev_acquire_global_lock(
Link Here
|
236 |
/* |
236 |
/* |
237 |
* Wait for handshake with the global lock interrupt handler. |
237 |
* Wait for handshake with the global lock interrupt handler. |
238 |
* This interface releases the interpreter if we must wait. |
238 |
* This interface releases the interpreter if we must wait. |
|
|
239 |
* |
240 |
* In some cases, we may wait a very long time. This indicates a |
241 |
* hardware bug. If the timeout has been reached, declare the global |
242 |
* lock as broken and stop using it. |
239 |
*/ |
243 |
*/ |
240 |
status = |
244 |
status = |
241 |
acpi_ex_system_wait_semaphore |
245 |
acpi_ex_system_wait_semaphore |
242 |
(acpi_gbl_global_lock_semaphore, ACPI_WAIT_FOREVER); |
246 |
(acpi_gbl_global_lock_semaphore, 500); |
|
|
247 |
if (status == AE_TIME) { |
248 |
ACPI_WARNING((AE_INFO, |
249 |
"ACPI global lock is considered non-functional due to excessive wait")); |
250 |
acpi_gbl_global_lock_present = FALSE; |
251 |
break; |
252 |
} |
243 |
|
253 |
|
244 |
flags = acpi_os_acquire_lock(acpi_gbl_global_lock_pending_lock); |
254 |
flags = acpi_os_acquire_lock(acpi_gbl_global_lock_pending_lock); |
245 |
|
255 |
|