]> xenbits.xensource.com Git - qemu-upstream-4.5-testing.git/commitdiff
xhci: Fix number of streams allocated when using streams
authorHans de Goede <hdegoede@redhat.com>
Mon, 16 Sep 2013 15:04:27 +0000 (17:04 +0200)
committerGerd Hoffmann <kraxel@redhat.com>
Thu, 19 Sep 2013 09:28:40 +0000 (11:28 +0200)
According to the xhci spec the total number of streams is
2 ^ (MaxPStreams + 1), and this is also how the Linux xhci driver
uses this field.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
hw/usb/hcd-xhci.c

index f02231dc87eee81903253459746b67c157dce7e0..69d9144ee8154796917f6a3152d4f1719841ea28 100644 (file)
@@ -1138,7 +1138,7 @@ static void xhci_reset_streams(XHCIEPContext *epctx)
 static void xhci_alloc_streams(XHCIEPContext *epctx, dma_addr_t base)
 {
     assert(epctx->pstreams == NULL);
-    epctx->nr_pstreams = 2 << epctx->max_pstreams;
+    epctx->nr_pstreams = 2 << (epctx->max_pstreams + 1);
     epctx->pstreams = xhci_alloc_stream_contexts(epctx->nr_pstreams, base);
 }