lkml.org 
[lkml]   [2010]   [Jun]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 10/13] Do not try to disable hpet if it hasn't been initialized before
On Mon, Jun 21, 2010 at 05:14:04PM +0100, stefano@stabellini.net wrote:
> From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
>
> hpet_disable is called unconditionally on machine reboot if hpet support
> is compiled in the kernel.
> hpet_disable only checks if the machine is hpet capable but doesn't make
> sure that hpet has been initialized.

CC-ing John Stultz who has had his head wrapped around this time-thingy.

Hi John!

What are your thoughts about this patch?
>
> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> ---
> arch/x86/kernel/hpet.c | 18 ++++++++++--------
> 1 files changed, 10 insertions(+), 8 deletions(-)
>
> diff --git a/arch/x86/kernel/hpet.c b/arch/x86/kernel/hpet.c
> index 23b4ecd..2b299da 100644
> --- a/arch/x86/kernel/hpet.c
> +++ b/arch/x86/kernel/hpet.c
> @@ -959,16 +959,18 @@ fs_initcall(hpet_late_init);
>
> void hpet_disable(void)
> {
> - if (is_hpet_capable()) {
> - unsigned int cfg = hpet_readl(HPET_CFG);
> + unsigned int cfg;
>
> - if (hpet_legacy_int_enabled) {
> - cfg &= ~HPET_CFG_LEGACY;
> - hpet_legacy_int_enabled = 0;
> - }
> - cfg &= ~HPET_CFG_ENABLE;
> - hpet_writel(cfg, HPET_CFG);
> + if (!is_hpet_capable() || !hpet_address || !hpet_virt_address)
> + return;
> +
> + cfg = hpet_readl(HPET_CFG);
> + if (hpet_legacy_int_enabled) {
> + cfg &= ~HPET_CFG_LEGACY;
> + hpet_legacy_int_enabled = 0;
> }
> + cfg &= ~HPET_CFG_ENABLE;
> + hpet_writel(cfg, HPET_CFG);
> }
>
> #ifdef CONFIG_HPET_EMULATE_RTC
> --
> 1.7.0.4
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/


\
 
 \ /
  Last update: 2010-06-30 19:57    [W:0.237 / U:0.048 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site