[SeaBIOS] Intermittent USB keyboard freeze

Gerd Hoffmann kraxel at redhat.com
Tue Feb 4 10:01:32 CET 2014


> I looked through the QEMU hcd-uhci.c code, and I think QEMU is buggy
> here.  QEMU keeps a mapping of queues that are indexed by the usb
> device address and endpoint (see uhci_queue_new() ).  When the usb
> device has address 0, it creates an entry in this mapping and the
> entry remains even after the device is given a new address.  Later,
> when the next device also has address 0, QEMU attempts to use that
> mapping even though the 0 address now corresponds with a different
> device.

Nice spotting.  Does the attached patch help?


-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-uhci-don-t-cache-queues-for-addr-0-control-transfers.patch
Type: text/x-patch
Size: 955 bytes
Desc: not available
URL: <http://www.seabios.org/pipermail/seabios/attachments/20140204/75c5ab96/attachment.patch>

More information about the SeaBIOS mailing list