[PATCH] usb: dwc2: add missing SLAB_CACHE_DMA flag for desc_hsisoc_cache

karthikeyan K S posted 1 patch 4 weeks, 1 day ago
There is a newer version of this series
drivers/usb/dwc2/hcd.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] usb: dwc2: add missing SLAB_CACHE_DMA flag for desc_hsisoc_cache
Posted by karthikeyan K S 4 weeks, 1 day ago
From 39cd652d071184e3bab97ba92f6da30152289905 Mon Sep 17 00:00:00 2001
From: karthikeyan <karthiproffesional@gmail.com>
Date: Sun, 11 Jan 2026 08:36:25 +0200
Subject: [PATCH] usb: dwc2: add missing SLAB_CACHE_DMA flag for
 desc_hsisoc_cache

The desc_hsisoc_cache kmem_cache is used to allocate DMA descriptors
for High-Speed isochronous transfers. These descriptors are passed to
the hardware via dma_map_single() in dwc2_desc_list_alloc().

The desc_gen_cache, which serves the same purpose for other transfer
types, correctly specifies SLAB_CACHE_DMA. However, desc_hsisoc_cache
was created without this flag, despite both caches being used
identically for DMA descriptor allocation.

Add the missing SLAB_CACHE_DMA flag to desc_hsisoc_cache for
consistency and correctness on platforms with DMA zone restrictions.
This also protects against future allocations from this cache that
might omit GFP_DMA.

Fixes: 3b5fcc9ac2f4 ("usb: dwc2: host: use kmem cache to allocate descriptors")
Signed-off-by: karthikeyan <karthiproffesional@gmail.com>
---
 drivers/usb/dwc2/hcd.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/usb/dwc2/hcd.c b/drivers/usb/dwc2/hcd.c
index 30eb8506617c..556d6ab36930 100644
--- a/drivers/usb/dwc2/hcd.c
+++ b/drivers/usb/dwc2/hcd.c
@@ -5273,7 +5273,7 @@ int dwc2_hcd_init(struct dwc2_hsotg *hsotg)

                hsotg->desc_hsisoc_cache = kmem_cache_create("dwc2-hsisoc-desc",
                                sizeof(struct dwc2_dma_desc) *
-                               MAX_DMA_DESC_NUM_HS_ISOC, 512, 0, NULL);
+                               MAX_DMA_DESC_NUM_HS_ISOC, 512,
SLAB_CACHE_DMA, NULL);
                if (!hsotg->desc_hsisoc_cache) {
                        dev_err(hsotg->dev,
                                "unable to create dwc2 hs isoc desc cache\n");
--
2.34.1
Re: [PATCH] usb: dwc2: add missing SLAB_CACHE_DMA flag for desc_hsisoc_cache
Posted by Greg KH 4 weeks, 1 day ago
On Sun, Jan 11, 2026 at 01:01:51PM +0530, karthikeyan K S wrote:
> >From 39cd652d071184e3bab97ba92f6da30152289905 Mon Sep 17 00:00:00 2001
> From: karthikeyan <karthiproffesional@gmail.com>
> Date: Sun, 11 Jan 2026 08:36:25 +0200
> Subject: [PATCH] usb: dwc2: add missing SLAB_CACHE_DMA flag for
>  desc_hsisoc_cache
> 
> The desc_hsisoc_cache kmem_cache is used to allocate DMA descriptors
> for High-Speed isochronous transfers. These descriptors are passed to
> the hardware via dma_map_single() in dwc2_desc_list_alloc().
> 
> The desc_gen_cache, which serves the same purpose for other transfer
> types, correctly specifies SLAB_CACHE_DMA. However, desc_hsisoc_cache
> was created without this flag, despite both caches being used
> identically for DMA descriptor allocation.
> 
> Add the missing SLAB_CACHE_DMA flag to desc_hsisoc_cache for
> consistency and correctness on platforms with DMA zone restrictions.
> This also protects against future allocations from this cache that
> might omit GFP_DMA.
> 
> Fixes: 3b5fcc9ac2f4 ("usb: dwc2: host: use kmem cache to allocate descriptors")
> Signed-off-by: karthikeyan <karthiproffesional@gmail.com>
> ---
>  drivers/usb/dwc2/hcd.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/usb/dwc2/hcd.c b/drivers/usb/dwc2/hcd.c
> index 30eb8506617c..556d6ab36930 100644
> --- a/drivers/usb/dwc2/hcd.c
> +++ b/drivers/usb/dwc2/hcd.c
> @@ -5273,7 +5273,7 @@ int dwc2_hcd_init(struct dwc2_hsotg *hsotg)
> 
>                 hsotg->desc_hsisoc_cache = kmem_cache_create("dwc2-hsisoc-desc",
>                                 sizeof(struct dwc2_dma_desc) *
> -                               MAX_DMA_DESC_NUM_HS_ISOC, 512, 0, NULL);
> +                               MAX_DMA_DESC_NUM_HS_ISOC, 512,
> SLAB_CACHE_DMA, NULL);
>                 if (!hsotg->desc_hsisoc_cache) {
>                         dev_err(hsotg->dev,
>                                 "unable to create dwc2 hs isoc desc cache\n");
> --
> 2.34.1
> 


Hi,

This is the friendly patch-bot of Greg Kroah-Hartman.  You have sent him
a patch that has triggered this response.  He used to manually respond
to these common problems, but in order to save his sanity (he kept
writing the same thing over and over, yet to different people), I was
created.  Hopefully you will not take offence and will fix the problem
in your patch and resubmit it so that it can be accepted into the Linux
kernel tree.

You are receiving this message because of the following common error(s)
as indicated below:

- Your patch is malformed (tabs converted to spaces, linewrapped, etc.)
  and can not be applied.  Please read the file,
  Documentation/process/email-clients.rst in order to fix this.

- It looks like you did not use your "real" name for the patch on either
  the Signed-off-by: line, or the From: line (both of which have to
  match).  Please read the kernel file,
  Documentation/process/submitting-patches.rst for how to do this
  correctly.

If you wish to discuss this problem further, or you have questions about
how to resolve this issue, please feel free to respond to this email and
Greg will reply once he has dug out from the pending patches received
from other developers.

thanks,

greg k-h's patch email bot