Message ID | 1351169529-10799-34-git-send-email-kraxel@redhat.com |
---|---|
State | New |
Headers | show |
diff --git a/hw/usb/hcd-xhci.c b/hw/usb/hcd-xhci.c index 8345fa3..d8d1226 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;
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> --- hw/usb/hcd-xhci.c | 3 --- 1 files changed, 0 insertions(+), 3 deletions(-)