Subject: Add constraints on usage of ACPI Sleep function
RFC PATCH 1/1 Subject: Add constraints on usage of ACPI Sleep function
Panasonic Toughbook CF-52 may use uninitialized variable as argument to Sleep(), thus stopping init sequence for about 45 days (0xf0000def ms). Add constraints to not sleep that long, and also to not sleep during init.
References: http://bugzilla.novell.com/show_bug.cgi?id=557710
http://bugzilla.kernel.org/show_bug.cgi?id=13195
Signed-off-by Alexey Starikovskiy <[email protected]>
---
drivers/acpi/osl.c | 9 ++++++++- 1 files changed, 8 insertions(+), 1 deletions(-)
drivers/acpi/osl.c +8 -1
@@ -438,7 +438,14 @@ acpi_status acpi_os_remove_interrupt_handler(u32 irq, acpi_osd_handler handler)void acpi_os_sleep (u64 ms) { -schedule_timeout_interruptible (msecs_to_jiffies (ms)); +if (ms >1000 ) { +printk (KERN_WARNING "ACPI: Limit long sleep to 1 second\n" ); + ms =1000 ; + } +if (system_state ==SYSTEM_RUNNING ) +schedule_timeout_interruptible (msecs_to_jiffies (ms)); +else +acpi_os_stall (ms *1000 ); }void acpi_os_stall (u32 us)