x86/hvm/rtc: always deassert the IRQ line when clearing REG_C.IRQF
authorTim Deegan <tim@xen.org>
Tue, 25 Feb 2014 08:30:21 +0000 (09:30 +0100)
committerJan Beulich <jbeulich@suse.com>
Tue, 25 Feb 2014 08:30:21 +0000 (09:30 +0100)
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 <tim@xen.org>
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
xen/arch/x86/hvm/rtc.c

index d641d959228b0c0e463c6c01f53c922c6085f863..639b4c57eb9824c0f47dba5791bbaf44539e5dfb 100644 (file)
@@ -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;