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