Revision 7046530c hw/usb/hcd-ehci.c

b/hw/usb/hcd-ehci.c
1107 1107
    /* Do any register specific pre-write processing here.  */
1108 1108
    switch(addr) {
1109 1109
    case USBCMD:
1110
        if (val & USBCMD_HCRESET) {
1111
            ehci_reset(s);
1112
            val = s->usbcmd;
1113
            break;
1114
        }
1115

  
1110 1116
        if ((val & USBCMD_RUNSTOP) && !(s->usbcmd & USBCMD_RUNSTOP)) {
1111 1117
            qemu_mod_timer(s->frame_timer, qemu_get_clock_ns(vm_clock));
1112 1118
            SET_LAST_RUN_CLOCK(s);
......
1121 1127
            ehci_set_usbsts(s, USBSTS_HALT);
1122 1128
        }
1123 1129

  
1124
        if (val & USBCMD_HCRESET) {
1125
            ehci_reset(s);
1126
            val = s->usbcmd;
1127
        }
1128 1130

  
1129 1131
        /* not supporting dynamic frame list size at the moment */
1130 1132
        if ((val & USBCMD_FLS) && !(s->usbcmd & USBCMD_FLS)) {

Also available in: Unified diff