Revision 2850ca9e

b/hw/usb-xhci.c
1470 1470
static int xhci_fire_ctl_transfer(XHCIState *xhci, XHCITransfer *xfer)
1471 1471
{
1472 1472
    XHCITRB *trb_setup, *trb_status;
1473
    uint8_t bmRequestType, bRequest;
1474
    uint16_t wValue, wLength, wIndex;
1473
    uint8_t bmRequestType;
1474
    uint16_t wLength;
1475 1475
    XHCIPort *port;
1476 1476
    USBDevice *dev;
1477 1477
    int ret;
......
1508 1508
    }
1509 1509

  
1510 1510
    bmRequestType = trb_setup->parameter;
1511
    bRequest = trb_setup->parameter >> 8;
1512
    wValue = trb_setup->parameter >> 16;
1513
    wIndex = trb_setup->parameter >> 32;
1514 1511
    wLength = trb_setup->parameter >> 48;
1515 1512

  
1516 1513
    if (xfer->data && xfer->data_alloced < wLength) {
......
1537 1534
    xfer->iso_xfer = false;
1538 1535

  
1539 1536
    xhci_setup_packet(xfer, dev);
1537
    xfer->packet.parameter = trb_setup->parameter;
1540 1538
    if (!xfer->in_xfer) {
1541 1539
        xhci_xfer_data(xfer, xfer->data, wLength, 0, 1, 0);
1542 1540
    }
1543
    ret = usb_device_handle_control(dev, &xfer->packet,
1544
                                    (bmRequestType << 8) | bRequest,
1545
                                    wValue, wIndex, wLength, xfer->data);
1541

  
1542
    ret = usb_handle_packet(dev, &xfer->packet);
1546 1543

  
1547 1544
    xhci_complete_packet(xfer, ret);
1548 1545
    if (!xfer->running_async && !xfer->running_retry) {

Also available in: Unified diff