I was seeing bus disconnects when not clearing port resume bit properly.

              port->ctrl&= ~(val&   0x000a);
+            port->ctrl&= ~(port->ctrl&   0x0040); /* clear port resume 
detected */
          }

This chunk looks suspicious ...

I suspect the port suspend/resume emulation isn't complete.

The bug is that the port resume bit is masked out from guest writes, so the guest hasn't a chance to clear it ...

cheers,
  Gerd

PS: http://cgit.freedesktop.org/spice/qemu/log/?h=usb.1

Reply via email to