| Submitter | Gerd Hoffmann |
|---|---|
| Date | Nov. 21, 2012, 1:59 p.m. |
| Message ID | <1353506404-29446-3-git-send-email-kraxel@redhat.com> |
| Download | mbox | patch |
| Permalink | /patch/200766/ |
| State | New |
| Headers | show |
Comments
Patch
diff --git a/hw/usb/hcd-uhci.c b/hw/usb/hcd-uhci.c index ef32633..078be2a 100644 --- a/hw/usb/hcd-uhci.c +++ b/hw/usb/hcd-uhci.c @@ -556,6 +556,10 @@ static void uhci_ioport_writew(void *opaque, uint32_t addr, uint32_t val) } } port->ctrl &= UHCI_PORT_READ_ONLY; + /* enabled may only be set if a device is connected */ + if (!(port->ctrl & UHCI_PORT_CCS)) { + val &= ~UHCI_PORT_EN; + } port->ctrl |= (val & ~UHCI_PORT_READ_ONLY); /* some bits are reset when a '1' is written to them */ port->ctrl &= ~(val & UHCI_PORT_WRITE_CLEAR);