Re: [PATCH]: ACPI: Disable Fixed_RTC event when installing RTC handler

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Applied.

thanks,
-Len

On Tuesday 13 May 2008, Zhao Yakui wrote:
> Subject:ACPI: Disable Fixed_RTC event when installing RTC handler
> >From : Zhao Yakui <yakui.zhao@xxxxxxxxx>
> 
> The Fixed_RTC event should be disabled when installing RTC handler.
> Only when RTC alarm is set will it be enabled again. If it is not 
> disabled, maybe some machines will be powered on automatically after 
> the system is shutdown even when the RTC alarm is not set.
> 
> http://bugzilla.kernel.org/show_bug.cgi?id=10010
> 
> Signed-off-by: Zhao Yakui <yakui.zhao@xxxxxxxxx>
> Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx>
> 
> ---
>  drivers/acpi/glue.c       |    6 ++++++
>  drivers/acpi/sleep/proc.c |    6 ++++++
>  2 files changed, 12 insertions(+)
> 
> Index: linux-2.6/drivers/acpi/glue.c
> ===================================================================
> --- linux-2.6.orig/drivers/acpi/glue.c
> +++ linux-2.6/drivers/acpi/glue.c
> @@ -272,6 +272,12 @@ static u32 rtc_handler(void *context)
>  static inline void rtc_wake_setup(void)
>  {
>  	acpi_install_fixed_event_handler(ACPI_EVENT_RTC, rtc_handler, NULL);
> +	/*
> +	 * After the RTC handler is installed, the Fixed_RTC event should
> +	 * be disabled. Only when the RTC alarm is set will it be enabled.
> +	 */
> +	acpi_clear_event(ACPI_EVENT_RTC);
> +	acpi_disable_event(ACPI_EVENT_RTC, 0);
>  }
>  
>  static void rtc_wake_on(struct device *dev)
> Index: linux-2.6/drivers/acpi/sleep/proc.c
> ===================================================================
> --- linux-2.6.orig/drivers/acpi/sleep/proc.c
> +++ linux-2.6/drivers/acpi/sleep/proc.c
> @@ -495,6 +495,12 @@ static int __init acpi_sleep_proc_init(v
>  		    acpi_root_dir, &acpi_system_alarm_fops);
>  
>  	acpi_install_fixed_event_handler(ACPI_EVENT_RTC, rtc_handler, NULL);
> +	/*
> +	 * Disable the RTC event after installing RTC handler.
> +	 * Only when RTC alarm is set will it be enabled.
> +	 */
> +	acpi_clear_event(ACPI_EVENT_RTC);
> +	acpi_disable_event(ACPI_EVENT_RTC, 0);
>  #endif				/* HAVE_ACPI_LEGACY_ALARM */
>  
>  	/* 'wakeup device' [R/W] */
> 
> 


--
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

[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux