# HG changeset patch # User Jan Beulich # Date 1348816934 -7200 # Node ID 6a581212909478bba0c7b4dfc6c370270dee825c # Parent 6bf8b882df8f66ab5500e4d9cc0c3338ae5a6cb9 x86/HPET: don't disable interrupt delivery right after setting it up We shouldn't clear HPET_TN_FSB right after we (indirectly, via request_irq()) enabled it for the channels we intend to use for broadcasts. This fixes a regression introduced by c/s 25103:0b0e42dc4f0a. Signed-off-by: Jan Beulich Acked-by: Keir Fraser --- a/xen/arch/x86/hpet.c +++ b/xen/arch/x86/hpet.c @@ -533,7 +533,7 @@ void __init hpet_broadcast_init(void) { /* set HPET Tn as oneshot */ cfg = hpet_read32(HPET_Tn_CFG(hpet_events[i].idx)); - cfg &= ~(HPET_TN_LEVEL | HPET_TN_PERIODIC | HPET_TN_FSB); + cfg &= ~(HPET_TN_LEVEL | HPET_TN_PERIODIC); cfg |= HPET_TN_ENABLE | HPET_TN_32BIT; hpet_write32(cfg, HPET_Tn_CFG(hpet_events[i].idx)); @@ -590,7 +590,7 @@ void hpet_broadcast_resume(void) /* set HPET Tn as oneshot */ cfg = hpet_read32(HPET_Tn_CFG(hpet_events[i].idx)); - cfg &= ~(HPET_TN_LEVEL | HPET_TN_PERIODIC | HPET_TN_FSB); + cfg &= ~(HPET_TN_LEVEL | HPET_TN_PERIODIC); cfg |= HPET_TN_ENABLE | HPET_TN_32BIT; hpet_write32(cfg, HPET_Tn_CFG(hpet_events[i].idx));