]> git.proxmox.com Git - mirror_qemu.git/commitdiff
xhci: only free completed transfers
authorGerd Hoffmann <kraxel@redhat.com>
Mon, 30 Jan 2017 15:36:44 +0000 (16:36 +0100)
committerGerd Hoffmann <kraxel@redhat.com>
Mon, 6 Feb 2017 09:23:17 +0000 (10:23 +0100)
Most callsites check already, one was missed.

Cc: 1653384@bugs.launchpad.net
Fixes: 94b037f2a451b3dc855f9f2c346e5049a361bd55
Reported-by: Fabian Lesniak <fabian@lesniak-it.de>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Message-id: 1485790607-31399-2-git-send-email-kraxel@redhat.com

hw/usb/hcd-xhci.c

index f8106789d848dee1a21c405a91e6e0190b3ebc3a..6a1d3dc7d0b20bcde6ee3a0d3999eae96ba365d1 100644 (file)
@@ -2198,7 +2198,9 @@ static void xhci_kick_epctx(XHCIEPContext *epctx, unsigned int streamid)
             xhci_complete_packet(xfer);
         }
         assert(!xfer->running_retry);
-        xhci_ep_free_xfer(epctx->retry);
+        if (xfer->complete) {
+            xhci_ep_free_xfer(epctx->retry);
+        }
         epctx->retry = NULL;
     }