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

Reply via email to