aboutsummaryrefslogtreecommitdiff
path: root/hw/usb-uhci.c
diff options
context:
space:
mode:
authorpbrook <pbrook@c046a42c-6fe2-441c-8c8c-71466251a162>2006-05-22 17:17:06 +0000
committerpbrook <pbrook@c046a42c-6fe2-441c-8c8c-71466251a162>2006-05-22 17:17:06 +0000
commit6106487019177fa2bf61fa1beab11b3b113ad858 (patch)
treed07e6346c185ebb12d8880ac6416db414f1f2efe /hw/usb-uhci.c
parent6cb7ee859a1b28aae8eab7f88908c9c9262b8a5c (diff)
downloadqemu-6106487019177fa2bf61fa1beab11b3b113ad858.zip
qemu-6106487019177fa2bf61fa1beab11b3b113ad858.tar.gz
qemu-6106487019177fa2bf61fa1beab11b3b113ad858.tar.bz2
Fix USB root hub hotplugging.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1931 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'hw/usb-uhci.c')
-rw-r--r--hw/usb-uhci.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/hw/usb-uhci.c b/hw/usb-uhci.c
index d3358fe..1a6e013 100644
--- a/hw/usb-uhci.c
+++ b/hw/usb-uhci.c
@@ -327,9 +327,8 @@ static void uhci_attach(USBPort *port1, USBDevice *dev)
usb_attach(port1, NULL);
}
/* set connect status */
- if (!(port->ctrl & UHCI_PORT_CCS)) {
- port->ctrl |= UHCI_PORT_CCS | UHCI_PORT_CSC;
- }
+ port->ctrl |= UHCI_PORT_CCS | UHCI_PORT_CSC;
+
/* update speed */
if (dev->speed == USB_SPEED_LOW)
port->ctrl |= UHCI_PORT_LSDA;
@@ -341,8 +340,9 @@ static void uhci_attach(USBPort *port1, USBDevice *dev)
USB_MSG_ATTACH, 0, 0, NULL, 0);
} else {
/* set connect status */
- if (!(port->ctrl & UHCI_PORT_CCS)) {
- port->ctrl |= UHCI_PORT_CCS | UHCI_PORT_CSC;
+ if (port->ctrl & UHCI_PORT_CCS) {
+ port->ctrl &= ~UHCI_PORT_CCS;
+ port->ctrl |= UHCI_PORT_CSC;
}
/* disable port */
if (port->ctrl & UHCI_PORT_EN) {