summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGerd Hoffmann <kraxel@redhat.com>2012-10-24 10:14:16 +0200
committerHans de Goede <hdegoede@redhat.com>2012-11-04 15:47:38 +0100
commitfca28226db86f3ac85e80f42b10417c0a03ddc4f (patch)
tree1d43f715b66c703b43acabe4fb539eaf522a9dd4
parent8f6ae5eaa090ca692505f58ed74699f82fc5a91f (diff)
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>
-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 800796028..c57f474cf 100644
--- a/hw/usb/hcd-xhci.c
+++ b/hw/usb/hcd-xhci.c
@@ -1010,9 +1010,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;