From: Tim Deegan Date: Tue, 25 Feb 2014 08:30:21 +0000 (+0100) Subject: x86/hvm/rtc: always deassert the IRQ line when clearing REG_C.IRQF X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~5551 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=6d27a537727ca933bfef8ba01bc65847dc97cee1;p=xen.git x86/hvm/rtc: always deassert the IRQ line when clearing REG_C.IRQF Even in no-ack mode, there's no reason to leave the line asserted after an explicit ack of the interrupt. Furthermore, rtc_update_irq() is an unconditional noop having just cleared REG_C. Signed-off-by: Tim Deegan Signed-off-by: Andrew Cooper Reviewed-by: Jan Beulich --- diff --git a/xen/arch/x86/hvm/rtc.c b/xen/arch/x86/hvm/rtc.c index d641d95922..639b4c57eb 100644 --- a/xen/arch/x86/hvm/rtc.c +++ b/xen/arch/x86/hvm/rtc.c @@ -673,9 +673,8 @@ static uint32_t rtc_ioport_read(RTCState *s, uint32_t addr) check_for_pf_ticks(s); ret = s->hw.cmos_data[s->hw.cmos_index]; s->hw.cmos_data[RTC_REG_C] = 0x00; - if ( (ret & RTC_IRQF) && !rtc_mode_is(s, no_ack) ) + if ( ret & RTC_IRQF ) hvm_isa_irq_deassert(d, RTC_IRQ); - rtc_update_irq(s); check_update_timer(s); alarm_timer_update(s); s->pt_dead_ticks = 0;