aboutsummaryrefslogtreecommitdiff
path: root/hw
diff options
context:
space:
mode:
Diffstat (limited to 'hw')
-rw-r--r--hw/usb/hcd-xhci.c3
-rw-r--r--hw/usb/xen-usb.c3
2 files changed, 4 insertions, 2 deletions
diff --git a/hw/usb/hcd-xhci.c b/hw/usb/hcd-xhci.c
index 1a3377f038..976bfb0659 100644
--- a/hw/usb/hcd-xhci.c
+++ b/hw/usb/hcd-xhci.c
@@ -2364,6 +2364,8 @@ static TRBCCode xhci_address_slot(XHCIState *xhci, unsigned int slotid,
slot->uport = uport;
slot->ctx = octx;
+ /* Make sure device is in USB_STATE_DEFAULT state */
+ usb_device_reset(dev);
if (bsr) {
slot_ctx[3] = SLOT_DEFAULT << SLOT_STATE_SHIFT;
} else {
@@ -2371,7 +2373,6 @@ static TRBCCode xhci_address_slot(XHCIState *xhci, unsigned int slotid,
uint8_t buf[1];
slot_ctx[3] = (SLOT_ADDRESSED << SLOT_STATE_SHIFT) | slotid;
- usb_device_reset(dev);
memset(&p, 0, sizeof(p));
usb_packet_addbuf(&p, buf, sizeof(buf));
usb_packet_setup(&p, USB_TOKEN_OUT,
diff --git a/hw/usb/xen-usb.c b/hw/usb/xen-usb.c
index 0fd34c62c4..7bed0cebe3 100644
--- a/hw/usb/xen-usb.c
+++ b/hw/usb/xen-usb.c
@@ -253,7 +253,8 @@ static int usbback_init_packet(struct usbback_req *usbback_req)
case USBIF_PIPE_TYPE_CTRL:
packet->parameter = *(uint64_t *)usbback_req->req.u.ctrl;
- TR_REQ(xendev, "ctrl parameter: %lx, buflen: %x\n", packet->parameter,
+ TR_REQ(xendev, "ctrl parameter: %"PRIx64", buflen: %x\n",
+ packet->parameter,
usbback_req->req.buffer_length);
break;