diff options
author | Gerd Hoffmann <kraxel@redhat.com> | 2012-03-08 13:15:56 +0100 |
---|---|---|
committer | Gerd Hoffmann <kraxel@redhat.com> | 2012-03-13 10:15:32 +0100 |
commit | 16ce543ed14acc796768a732c9d3ea1288efde24 (patch) | |
tree | 0271a0d09203d67a0d24cbf54ec51ee68fb61c1d /hw/usb | |
parent | 5ac2731cf821a7ecae90786d9052891afb09dfc2 (diff) | |
download | qemu-16ce543ed14acc796768a732c9d3ea1288efde24.tar.gz qemu-16ce543ed14acc796768a732c9d3ea1288efde24.tar.bz2 qemu-16ce543ed14acc796768a732c9d3ea1288efde24.zip |
uhci: pass addr to uhci_async_alloc
Also do async->td initialization in uhci_async_alloc now.
Prepares for adding tracepoints.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'hw/usb')
-rw-r--r-- | hw/usb/hcd-uhci.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/hw/usb/hcd-uhci.c b/hw/usb/hcd-uhci.c index 5c708cf670..476db1f099 100644 --- a/hw/usb/hcd-uhci.c +++ b/hw/usb/hcd-uhci.c @@ -198,11 +198,12 @@ static void uhci_queue_free(UHCIQueue *queue) g_free(queue); } -static UHCIAsync *uhci_async_alloc(UHCIQueue *queue) +static UHCIAsync *uhci_async_alloc(UHCIQueue *queue, uint32_t addr) { UHCIAsync *async = g_new0(UHCIAsync, 1); async->queue = queue; + async->td = addr; usb_packet_init(&async->packet); pci_dma_sglist_init(&async->sgl, &queue->uhci->dev, 1); @@ -814,7 +815,7 @@ static int uhci_handle_td(UHCIState *s, uint32_t addr, UHCI_TD *td, uint32_t *in } /* Allocate new packet */ - async = uhci_async_alloc(uhci_queue_get(s, td)); + async = uhci_async_alloc(uhci_queue_get(s, td), addr); if (!async) return 1; @@ -822,7 +823,6 @@ static int uhci_handle_td(UHCIState *s, uint32_t addr, UHCI_TD *td, uint32_t *in * for initial isochronous requests */ async->queue->valid = 32; - async->td = addr; async->isoc = td->ctrl & TD_CTRL_IOS; max_len = ((td->token >> 21) + 1) & 0x7ff; |