Commit 16ce543e authored by Gerd Hoffmann's avatar Gerd Hoffmann
Browse files

uhci: pass addr to uhci_async_alloc



Also do async->td initialization in uhci_async_alloc now.
Prepares for adding tracepoints.

Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
parent 5ac2731c
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -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;