diff -urpNX dontdiff a/drivers/acpi/osl.c b/drivers/acpi/osl.c
--- a/drivers/acpi/osl.c	2005-04-21 02:03:13.000000000 +0200
+++ b/drivers/acpi/osl.c	2005-04-29 09:46:46.000000000 +0200
@@ -317,7 +317,7 @@ acpi_os_remove_interrupt_handler(u32 irq
 void
 acpi_os_sleep(acpi_integer ms)
 {
-	current->state = TASK_INTERRUPTIBLE;
+	set_current_state(TASK_INTERRUPTIBLE);
 	schedule_timeout(((signed long) ms * HZ) / 1000);
 }
 EXPORT_SYMBOL(acpi_os_sleep);
@@ -942,7 +942,7 @@ acpi_os_wait_semaphore(
 
 			ret = down_trylock(sem);
 			for (i = timeout; (i > 0 && ret < 0); i -= quantum_ms) {
-				current->state = TASK_INTERRUPTIBLE;
+				set_current_state(TASK_INTERRUPTIBLE);
 				schedule_timeout(1);
 				ret = down_trylock(sem);
 			}
