Hello, This is a first attempt to make some progress with the problems found with OHCI especially when trying to pass through a usb sound card on mac99. This does not go all the way to allow multiple async packets on different endpoints yet but as a first step just try to fix the interaction and potential breakage of pending async packet by isochronous transfers. Plus some small clean ups I've found while trying to make sense of this device model.
Posted as RFC because it's unfinfished and untested as there seems to be some regression with mac99 so it does not boot for me for some reason I haven't debugged yet. Hope Howard can test it and see if it changes any of the traces seen before. BALATON Zoltan (4): usb/ohci: Move cancelling async packet to ohci_stop_endpoints() usb/ohci: Move USBPortOps related functions together usb/ohci: Merge ohci_async_cancel_device() into ohci_child_detach() usb/ohci: Don't use packet from OHCIState for isochronous transfers hw/usb/hcd-ohci.c | 281 ++++++++++++++++++++++------------------------ 1 file changed, 136 insertions(+), 145 deletions(-) -- 2.21.4