summaryrefslogtreecommitdiff
path: root/hw
diff options
context:
space:
mode:
authorGerd Hoffmann <kraxel@redhat.com>2012-10-24 10:14:16 +0200
committerGerd Hoffmann <kraxel@redhat.com>2012-10-25 14:35:47 +0200
commit3f973ee84ef51e448566c08ec5cfe746c9640269 (patch)
treed82f93ac2f694cfd5afba37b39ce6a07372a889f /hw
parent79a8af3509151dd1b650c996defdda13e02a7e38 (diff)
downloadqemu-3f973ee84ef51e448566c08ec5cfe746c9640269.tar.gz
xhci: flush endpoint context unconditinally
Not updating the endpoint context in case the state didn't change is wrong. Other context fields might have changed, for example the dequeue pointer in response to a CR_SET_TR_DEQUEUE command. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'hw')
-rw-r--r--hw/usb/hcd-xhci.c3
1 files changed, 0 insertions, 3 deletions
diff --git a/hw/usb/hcd-xhci.c b/hw/usb/hcd-xhci.c
index 8345fa34a2..d8d1226a5b 100644
--- a/hw/usb/hcd-xhci.c
+++ b/hw/usb/hcd-xhci.c
@@ -1009,9 +1009,6 @@ static void xhci_set_ep_state(XHCIState *xhci, XHCIEPContext *epctx,
uint32_t state)
{
uint32_t ctx[5];
- if (epctx->state == state) {
- return;
- }
pci_dma_read(&xhci->pci_dev, epctx->pctx, ctx, sizeof(ctx));
ctx[0] &= ~EP_STATE_MASK;