usb: host: xhci: delete sp_dma_buffers for scratchpad
authorPeter Chen <peter.chen@nxp.com>
Wed, 19 Apr 2017 13:55:51 +0000 (16:55 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 19 Apr 2017 17:59:18 +0000 (19:59 +0200)
We already have sp_array to store each scratch buffer address for xHC,
it doesn't need another sp_dma_buffers array to store it.

Signed-off-by: Peter Chen <peter.chen@nxp.com>
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/host/xhci-mem.c
drivers/usb/host/xhci.h

index 2481335221a613a7bf5a9d91afbd96037f54fe22..f80bd033193510d915d8e6227c0e7dbfe69dae7d 100644 (file)
@@ -1721,36 +1721,27 @@ static int scratchpad_alloc(struct xhci_hcd *xhci, gfp_t flags)
        if (!xhci->scratchpad->sp_buffers)
                goto fail_sp3;
 
-       xhci->scratchpad->sp_dma_buffers =
-               kzalloc(sizeof(dma_addr_t) * num_sp, flags);
-
-       if (!xhci->scratchpad->sp_dma_buffers)
-               goto fail_sp4;
-
        xhci->dcbaa->dev_context_ptrs[0] = cpu_to_le64(xhci->scratchpad->sp_dma);
        for (i = 0; i < num_sp; i++) {
                dma_addr_t dma;
                void *buf = dma_alloc_coherent(dev, xhci->page_size, &dma,
                                flags);
                if (!buf)
-                       goto fail_sp5;
+                       goto fail_sp4;
 
                xhci->scratchpad->sp_array[i] = dma;
                xhci->scratchpad->sp_buffers[i] = buf;
-               xhci->scratchpad->sp_dma_buffers[i] = dma;
        }
 
        return 0;
 
- fail_sp5:
+ fail_sp4:
        for (i = i - 1; i >= 0; i--) {
                dma_free_coherent(dev, xhci->page_size,
                                    xhci->scratchpad->sp_buffers[i],
-                                   xhci->scratchpad->sp_dma_buffers[i]);
+                                   xhci->scratchpad->sp_array[i]);
        }
-       kfree(xhci->scratchpad->sp_dma_buffers);
 
- fail_sp4:
        kfree(xhci->scratchpad->sp_buffers);
 
  fail_sp3:
@@ -1780,9 +1771,8 @@ static void scratchpad_free(struct xhci_hcd *xhci)
        for (i = 0; i < num_sp; i++) {
                dma_free_coherent(dev, xhci->page_size,
                                    xhci->scratchpad->sp_buffers[i],
-                                   xhci->scratchpad->sp_dma_buffers[i]);
+                                   xhci->scratchpad->sp_array[i]);
        }
-       kfree(xhci->scratchpad->sp_dma_buffers);
        kfree(xhci->scratchpad->sp_buffers);
        dma_free_coherent(dev, num_sp * sizeof(u64),
                            xhci->scratchpad->sp_array,
index 44123dd1816f5be6d806257fd48a885d4b6be150..cae8fb901aa88665eb4edee90d243d29af0728f9 100644 (file)
@@ -1606,7 +1606,6 @@ struct xhci_scratchpad {
        u64 *sp_array;
        dma_addr_t sp_dma;
        void **sp_buffers;
-       dma_addr_t *sp_dma_buffers;
 };
 
 struct urb_priv {