aboutsummaryrefslogtreecommitdiffstats
path: root/emulators/qemu/files/patch-usb-hchalt
blob: cf141d1475e667fcff0a108cabdcaa1314ada547 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Index: qemu/hw/usb-uhci.c
@@ -174,6 +177,7 @@
         if ((val & UHCI_CMD_RS) && !(s->cmd & UHCI_CMD_RS)) {
             /* start frame processing */
             qemu_mod_timer(s->frame_timer, qemu_get_clock(vm_clock));
+            s->status &= ~UHCI_STS_HCHALTED;
         }
         if (val & UHCI_CMD_GRESET) {
             UHCIPort *port;
@@ -528,6 +534,8 @@
 
     if (!(s->cmd & UHCI_CMD_RS)) {
         qemu_del_timer(s->frame_timer);
+        /* set hchalted bit in status - UHCI11D 2.1.2 */
+        s->status |= UHCI_STS_HCHALTED;
         return;
     }
     frame_addr = s->fl_base_addr + ((s->frnum & 0x3ff) << 2);