[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 3/3] Register usb-uhci reset function.
From: |
Gleb Natapov |
Subject: |
[Qemu-devel] [PATCH 3/3] Register usb-uhci reset function. |
Date: |
Wed, 17 Jun 2009 19:32:02 +0300 |
The device is not reset on system reset currently.
Without this patch RHEL4.8 hangs after reboot if -usbdevice table
is in use.
Signed-off-by: Gleb Natapov <address@hidden>
---
hw/usb-uhci.c | 5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)
diff --git a/hw/usb-uhci.c b/hw/usb-uhci.c
index 00e740b..ea83bdc 100644
--- a/hw/usb-uhci.c
+++ b/hw/usb-uhci.c
@@ -319,8 +319,9 @@ static void uhci_update_irq(UHCIState *s)
qemu_set_irq(s->dev.irq[3], level);
}
-static void uhci_reset(UHCIState *s)
+static void uhci_reset(void *opaque)
{
+ UHCIState *s = opaque;
uint8_t *pci_conf;
int i;
UHCIPort *port;
@@ -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
--
1.6.2.1