diff options
author | pbrook <pbrook@c046a42c-6fe2-441c-8c8c-71466251a162> | 2006-05-22 17:17:06 +0000 |
---|---|---|
committer | pbrook <pbrook@c046a42c-6fe2-441c-8c8c-71466251a162> | 2006-05-22 17:17:06 +0000 |
commit | 6106487019177fa2bf61fa1beab11b3b113ad858 (patch) | |
tree | d07e6346c185ebb12d8880ac6416db414f1f2efe /hw/usb-uhci.c | |
parent | 6cb7ee859a1b28aae8eab7f88908c9c9262b8a5c (diff) | |
download | qemu-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.c | 10 |
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) { |