|
@@ -520,12 +520,12 @@ static void xhci_free_stream_ctx(struct xhci_hcd *xhci,
|
|
|
struct xhci_stream_ctx *stream_ctx, dma_addr_t dma)
|
|
|
{
|
|
|
struct device *dev = xhci_to_hcd(xhci)->self.controller;
|
|
|
+ size_t size = sizeof(struct xhci_stream_ctx) * num_stream_ctxs;
|
|
|
|
|
|
- if (num_stream_ctxs > MEDIUM_STREAM_ARRAY_SIZE)
|
|
|
- dma_free_coherent(dev,
|
|
|
- sizeof(struct xhci_stream_ctx)*num_stream_ctxs,
|
|
|
+ if (size > MEDIUM_STREAM_ARRAY_SIZE)
|
|
|
+ dma_free_coherent(dev, size,
|
|
|
stream_ctx, dma);
|
|
|
- else if (num_stream_ctxs <= SMALL_STREAM_ARRAY_SIZE)
|
|
|
+ else if (size <= SMALL_STREAM_ARRAY_SIZE)
|
|
|
return dma_pool_free(xhci->small_streams_pool,
|
|
|
stream_ctx, dma);
|
|
|
else
|
|
@@ -548,12 +548,12 @@ static struct xhci_stream_ctx *xhci_alloc_stream_ctx(struct xhci_hcd *xhci,
|
|
|
gfp_t mem_flags)
|
|
|
{
|
|
|
struct device *dev = xhci_to_hcd(xhci)->self.controller;
|
|
|
+ size_t size = sizeof(struct xhci_stream_ctx) * num_stream_ctxs;
|
|
|
|
|
|
- if (num_stream_ctxs > MEDIUM_STREAM_ARRAY_SIZE)
|
|
|
- return dma_alloc_coherent(dev,
|
|
|
- sizeof(struct xhci_stream_ctx)*num_stream_ctxs,
|
|
|
+ if (size > MEDIUM_STREAM_ARRAY_SIZE)
|
|
|
+ return dma_alloc_coherent(dev, size,
|
|
|
dma, mem_flags);
|
|
|
- else if (num_stream_ctxs <= SMALL_STREAM_ARRAY_SIZE)
|
|
|
+ else if (size <= SMALL_STREAM_ARRAY_SIZE)
|
|
|
return dma_pool_alloc(xhci->small_streams_pool,
|
|
|
mem_flags, dma);
|
|
|
else
|