uhci: Verify queue has not been changed by guest
commit66a08cbe6ad1aebec8eecf58b3ba042e19dd1649
authorHans de Goede <hdegoede@redhat.com>
Wed, 24 Oct 2012 16:31:15 +0000 (24 18:31 +0200)
committerGerd Hoffmann <kraxel@redhat.com>
Thu, 25 Oct 2012 07:08:11 +0000 (25 09:08 +0200)
treee0ca4155acb07af3a07ac07b58c8d142d1a77f5e
parent5ad23e873c858292dc58b9296261365312b8f683
uhci: Verify queue has not been changed by guest

According to the spec a guest can unlink a qh, and then as soon as frindex
has changed by 1 since the unlink, assume it is idle and re-use it. However
for various reasons, we cannot simply consider a qh as unlinked if we've not
seen it for 1 frame. This means that it is possible for a guest to re-use /
restart the queue while we still see its old state. This patch adds a safety
check for this, and "early" retires queues when they were changed by the guest.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
hw/usb/hcd-uhci.c
trace-events