lkml.org 
[lkml]   [2010]   [Jun]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 10/12] Do not try to disable hpet if it hasn't been initialized before
    Date
    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.

    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


    \
     
     \ /
      Last update: 2010-06-03 15:15    [W:0.020 / U:31.920 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site