[SeaBIOS] [PATCH 03/16] usb-uhci: fix race against host controller

Paolo Bonzini pbonzini at redhat.com
Thu Nov 17 09:02:28 CET 2011


On 11/17/2011 05:53 AM, Kevin O'Connor wrote:
> Interesting.  Good catch!  If I understand this correctly, the issue
> occurs because all TDs being complete doesn't guarentee that the QH is
> complete, and thus the next transfer races with the controller on the
> QH update.

Yep.

> Can't the code just use wait_pipe() at the end to eliminate the race?

Yes, that's correct.  The previous call to usb_send_bulk guarantees that 
the QH is quiescent.  It still works (tested with 15 consecutive boots, 
usually it fails in 2-3).

I'll reply to each modified individual patch with the v2, there's just a 
handful of them.

Paolo




More information about the SeaBIOS mailing list