On Thursday, September 20, 2012 05:37:44 PM Hans de Goede wrote: > Hi, > > Thanks for reporting this. This is caused by a recent change to > fix a memory leak inside the ehci codes interrupt ep handling, together > with: > > // TODO Windows does not seem to ever set the MULT field > > The above windows bug (not setting the MULT field is against the spec), > causes ehci_state_execute() to exit without even executing the packet once, > which leaves the packet in an uninitialized state. And when fetchqtd then > later on sees there already is a packet in flight for the ep queue, it > barfs on it not being initialized. > > I already had looking into the windows MULT issue on my to do, so I've just > bumped it to the top :) > > Unfortunately I cannot reproduce what you are seeing even though I do have > a logitech pro 9000 to test with myself. I've tried with both a 32 bits > windows XP as a 32 bits windows 7, what guest OS are you running?
In this case trying Windows 7 64bit. I can trigger this repeatedly. > > Besides not being able to reproduce I've written what I believe is a fix for > this. I'll post that to the list right after this mail. > > Can you test qemu build with the fix added? And please also set the > usb-redir device's debug parameter to 4 and send me the generated qemu log > ? This will allow me to see not only the assert is gone but that also the > interrupt ep is working properly... > > To set the debug to 4 use ie: > -device usb-redir,chardev=usbredirchardev1,id=usbredirdev1,debug=4 > > Do this for all the usb-redir devices on your cmdline! Yes, I will grab your patch and give this a go. Thanks, Shawn. > > Regards, > > Hans