[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH] Register usb-uhci reset function.
From: |
Gleb Natapov |
Subject: |
[Qemu-devel] [PATCH] Register usb-uhci reset function. |
Date: |
Tue, 16 Jun 2009 15:47:02 +0300 |
Update irq line on reset. Reseting irq line is required because
racing irq from pci device will call piix3_set_irq(). piix3_set_irq()
will remember current level in pci_irq_levels[]. The PIC line will be
triggered if one of pci_irq_levels[] is set (depends on piix3 config).
If for instance pci_irq_levels[0] and pci_irq_levels[1] are mapped to
the same PIC irq and during reset pci_irq_levels[1] == 1, but device
that drives pci_irq_levels[0] is initialized first the device driver
will not be able to lower irq line.
Without this patch RHEL4.8 hangs after reboot because usb interrupt
does not go away.
Signed-off-by: Gleb Natapov <address@hidden>
diff --git a/hw/usb-uhci.c b/hw/usb-uhci.c
index 689d40a..2db9850 100644
--- a/hw/usb-uhci.c
+++ b/hw/usb-uhci.c
@@ -346,6 +346,7 @@ static void uhci_reset(UHCIState *s)
}
uhci_async_cancel_all(s);
+ uhci_update_irq(s);
}
static void uhci_save(QEMUFile *f, void *opaque)
@@ -1093,6 +1094,7 @@ void usb_uhci_piix3_init(PCIBus *bus, int devfn)
}
s->frame_timer = qemu_new_timer(vm_clock, uhci_frame_timer, s);
+ qemu_register_reset(uhci_reset, 0, s);
uhci_reset(s);
/* Use region 4 for consistency with real hardware. BSD guests seem
@@ -1127,6 +1129,7 @@ void usb_uhci_piix4_init(PCIBus *bus, int devfn)
}
s->frame_timer = qemu_new_timer(vm_clock, uhci_frame_timer, s);
+ qemu_register_reset(uhci_reset, 0, s);
uhci_reset(s);
/* Use region 4 for consistency with real hardware. BSD guests seem
--
Gleb.
- [Qemu-devel] [PATCH] Register usb-uhci reset function.,
Gleb Natapov <=
- Re: [Qemu-devel] [PATCH] Register usb-uhci reset function., Paul Brook, 2009/06/16
- Re: [Qemu-devel] [PATCH] Register usb-uhci reset function., Gleb Natapov, 2009/06/16
- Re: [Qemu-devel] [PATCH] Register usb-uhci reset function., Paul Brook, 2009/06/16
- Re: [Qemu-devel] [PATCH] Register usb-uhci reset function., Gleb Natapov, 2009/06/16
- Re: [Qemu-devel] [PATCH] Register usb-uhci reset function., Paul Brook, 2009/06/16
- Re: [Qemu-devel] [PATCH] Register usb-uhci reset function., Zachary Amsden, 2009/06/16
- Re: [Qemu-devel] [PATCH] Register usb-uhci reset function., Gleb Natapov, 2009/06/17
Re: [Qemu-devel] [PATCH] Register usb-uhci reset function., Blue Swirl, 2009/06/16
Re: [Qemu-devel] [PATCH] Register usb-uhci reset function., Anthony Liguori, 2009/06/16