Revision 117b3ae6 hw/usb-uhci.c

b/hw/usb-uhci.c
526 526
        td->ctrl &= ~TD_CTRL_ACTIVE;
527 527
    if (ret >= 0) {
528 528
        td->ctrl = (td->ctrl & ~0x7ff) | ((len - 1) & 0x7ff);
529
        td->ctrl &= ~TD_CTRL_ACTIVE;
529
        /* The NAK bit may have been set by a previous frame, so clear it
530
           here.  The docs are somewhat unclear, but win2k relies on this
531
           behavior.  */
532
        td->ctrl &= ~(TD_CTRL_ACTIVE | TD_CTRL_NAK);
530 533
        if (pid == USB_TOKEN_IN && 
531 534
            (td->ctrl & TD_CTRL_SPD) &&
532 535
            len < max_len) {

Also available in: Unified diff