On Thursday, September 12, 2013 01:42:57 AM Chuansheng Liu wrote: > > Currently the acpi_os_sleep() is using the schedule_timeout_interruptible(), > which can be interrupted by signal, which causes the real sleep time is shorter. > > According to the ACPI spec: > The Sleep term is used to implement long-term timing requirements. > Execution is delayed for at least the required number of milliseconds. > > The sleeping time should be at least of the required number msecs, here > using msleep() to implement it. > > Also if the real time is shorter, we meet the device POWER ON issue. What exactly is the "power on" issue? Rafael > CC: lizhuangzhi <zhuangzhi.li@xxxxxxxxx> > CC: Li Fei <fei.li@xxxxxxxxx> > Signed-off-by: liu chuansheng <chuansheng.liu@xxxxxxxxx> > --- > drivers/acpi/osl.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/drivers/acpi/osl.c b/drivers/acpi/osl.c > index e5f416c..b1629b5 100644 > --- a/drivers/acpi/osl.c > +++ b/drivers/acpi/osl.c > @@ -820,7 +820,7 @@ 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)); > + msleep(ms); > } > > void acpi_os_stall(u32 us) > -- I speak only for myself. Rafael J. Wysocki, Intel Open Source Technology Center. -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html