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

Collapse All | Expand All

(-)linux.before_name/drivers/acpi/acpica/evglock.c (-1 / +11 lines)
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

Return to bug 206553