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

Collapse All | Expand All

(-)a/drivers/acpi/hardware/hwsleep.c.orig (-16 lines)
Lines 282-296 acpi_enter_sleep_state ( Link Here
282
		return_ACPI_STATUS (status);
282
		return_ACPI_STATUS (status);
283
	}
283
	}
284
284
285
	if (sleep_state != ACPI_STATE_S5) {
286
		/* Disable BM arbitration */
287
288
		status = acpi_set_register (ACPI_BITREG_ARB_DISABLE, 1, ACPI_MTX_DO_NOT_LOCK);
289
		if (ACPI_FAILURE (status)) {
290
			return_ACPI_STATUS (status);
291
		}
292
	}
293
294
	/*
285
	/*
295
	 * 1) Disable/Clear all GPEs
286
	 * 1) Disable/Clear all GPEs
296
	 * 2) Enable all wakeup GPEs
287
	 * 2) Enable all wakeup GPEs
Lines 581-593 acpi_leave_sleep_state ( Link Here
581
	(void) acpi_set_register(acpi_gbl_fixed_event_info[ACPI_EVENT_POWER_BUTTON].status_register_id,
572
	(void) acpi_set_register(acpi_gbl_fixed_event_info[ACPI_EVENT_POWER_BUTTON].status_register_id,
582
			1, ACPI_MTX_DO_NOT_LOCK);
573
			1, ACPI_MTX_DO_NOT_LOCK);
583
574
584
	/* Enable BM arbitration */
585
586
	status = acpi_set_register (ACPI_BITREG_ARB_DISABLE, 0, ACPI_MTX_LOCK);
587
	if (ACPI_FAILURE (status)) {
588
		return_ACPI_STATUS (status);
589
	}
590
591
	arg.integer.value = ACPI_SST_WORKING;
575
	arg.integer.value = ACPI_SST_WORKING;
592
	status = acpi_evaluate_object (NULL, METHOD_NAME__SST, &arg_list, NULL);
576
	status = acpi_evaluate_object (NULL, METHOD_NAME__SST, &arg_list, NULL);
593
	if (ACPI_FAILURE (status) && status != AE_NOT_FOUND) {
577
	if (ACPI_FAILURE (status) && status != AE_NOT_FOUND) {

Return to bug 3599