projects
/
qemu.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
f6969b9
)
uhci: invalidate queue on device address changes
author
Gerd Hoffmann
<kraxel@redhat.com>
Wed, 5 Feb 2014 13:54:14 +0000
(14:54 +0100)
committer
Gerd Hoffmann
<kraxel@redhat.com>
Tue, 18 Feb 2014 14:39:13 +0000
(15:39 +0100)
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
hw/usb/hcd-uhci.c
patch
|
blob
|
history
diff --git
a/hw/usb/hcd-uhci.c
b/hw/usb/hcd-uhci.c
index ad814b58d409aa7ad20ab9adc8c01e59e8026b06..08202449055754391080691a78b97a6ada606f79 100644
(file)
--- a/
hw/usb/hcd-uhci.c
+++ b/
hw/usb/hcd-uhci.c
@@
-252,9
+252,11
@@
static bool uhci_queue_verify(UHCIQueue *queue, uint32_t qh_addr, UHCI_TD *td,
uint32_t td_addr, bool queuing)
{
UHCIAsync *first = QTAILQ_FIRST(&queue->asyncs);
+ uint32_t queue_token_addr = (queue->token >> 8) & 0x7f;
return queue->qh_addr == qh_addr &&
queue->token == uhci_queue_token(td) &&
+ queue_token_addr == queue->ep->dev->addr &&
(queuing || !(td->ctrl & TD_CTRL_ACTIVE) || first == NULL ||
first->td_addr == td_addr);
}