* [PATCH] usb: gadget: udc: lpc32xx: allocate descriptor with GFP_ATOMIC
@ 2019-05-10 12:42 Alexandre Belloni
2019-05-10 15:59 ` Joe Perches
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Alexandre Belloni @ 2019-05-10 12:42 UTC (permalink / raw)
To: Felipe Balbi, Vladimir Zapolskiy, Greg Kroah-Hartman
Cc: Sylvain Lemieux, James Grant, linux-usb, linux-arm-kernel,
linux-kernel, Alexandre Belloni
Gadget drivers may queue request in interrupt context. This would lead to
a descriptor allocation in that context. In that case we would hit
BUG_ON(in_interrupt()) in __get_vm_area_node.
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
---
drivers/usb/gadget/udc/lpc32xx_udc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/usb/gadget/udc/lpc32xx_udc.c b/drivers/usb/gadget/udc/lpc32xx_udc.c
index d8f1c60793ed..b706d9c85a35 100644
--- a/drivers/usb/gadget/udc/lpc32xx_udc.c
+++ b/drivers/usb/gadget/udc/lpc32xx_udc.c
@@ -938,7 +938,7 @@ static struct lpc32xx_usbd_dd_gad *udc_dd_alloc(struct lpc32xx_udc *udc)
struct lpc32xx_usbd_dd_gad *dd;
dd = (struct lpc32xx_usbd_dd_gad *) dma_pool_alloc(
- udc->dd_cache, (GFP_KERNEL | GFP_DMA), &dma);
+ udc->dd_cache, (GFP_ATOMIC | GFP_DMA), &dma);
if (dd)
dd->this_dma = dma;
--
2.21.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH] usb: gadget: udc: lpc32xx: allocate descriptor with GFP_ATOMIC
2019-05-10 12:42 [PATCH] usb: gadget: udc: lpc32xx: allocate descriptor with GFP_ATOMIC Alexandre Belloni
@ 2019-05-10 15:59 ` Joe Perches
2019-05-13 11:33 ` James Grant
2019-06-18 7:33 ` Felipe Balbi
2 siblings, 0 replies; 6+ messages in thread
From: Joe Perches @ 2019-05-10 15:59 UTC (permalink / raw)
To: Alexandre Belloni, Felipe Balbi, Vladimir Zapolskiy, Greg Kroah-Hartman
Cc: Sylvain Lemieux, James Grant, linux-usb, linux-arm-kernel, linux-kernel
On Fri, 2019-05-10 at 14:42 +0200, Alexandre Belloni wrote:
> Gadget drivers may queue request in interrupt context. This would lead to
> a descriptor allocation in that context. In that case we would hit
> BUG_ON(in_interrupt()) in __get_vm_area_node.
[]
> diff --git a/drivers/usb/gadget/udc/lpc32xx_udc.c b/drivers/usb/gadget/udc/lpc32xx_udc.c
[]
> @@ -938,7 +938,7 @@ static struct lpc32xx_usbd_dd_gad *udc_dd_alloc(struct lpc32xx_udc *udc)
> struct lpc32xx_usbd_dd_gad *dd;
>
> dd = (struct lpc32xx_usbd_dd_gad *) dma_pool_alloc(
> - udc->dd_cache, (GFP_KERNEL | GFP_DMA), &dma);
> + udc->dd_cache, (GFP_ATOMIC | GFP_DMA), &dma);
trivia:
This could fit nicely on a single line without the
unnecessary cast and the unnecessary parentheses
around the GFP_ types.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] usb: gadget: udc: lpc32xx: allocate descriptor with GFP_ATOMIC
2019-05-10 12:42 [PATCH] usb: gadget: udc: lpc32xx: allocate descriptor with GFP_ATOMIC Alexandre Belloni
2019-05-10 15:59 ` Joe Perches
@ 2019-05-13 11:33 ` James Grant
2019-06-18 7:33 ` Felipe Balbi
2 siblings, 0 replies; 6+ messages in thread
From: James Grant @ 2019-05-13 11:33 UTC (permalink / raw)
To: Alexandre Belloni, Felipe Balbi, Vladimir Zapolskiy, Greg Kroah-Hartman
Cc: linux-usb, linux-kernel, James Grant, Sylvain Lemieux, linux-arm-kernel
Tested with a board containing LPC3250 SOC and STOTG04 PHY by using
serial gadget.
Needed patch series starting with "[PATCH 0/5] usb: gadget: udc:
lpc32xx: add stotg04 phy support" also.
Tested-by: James Grant <jamesg@zaltys.org>
Regards,
James Grant.
On 11/05/2019 00:42, Alexandre Belloni wrote:
> Gadget drivers may queue request in interrupt context. This would lead to
> a descriptor allocation in that context. In that case we would hit
> BUG_ON(in_interrupt()) in __get_vm_area_node.
>
> Signed-off-by: Alexandre Belloni<alexandre.belloni@bootlin.com>
> ---
> drivers/usb/gadget/udc/lpc32xx_udc.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/usb/gadget/udc/lpc32xx_udc.c b/drivers/usb/gadget/udc/lpc32xx_udc.c
> index d8f1c60793ed..b706d9c85a35 100644
> --- a/drivers/usb/gadget/udc/lpc32xx_udc.c
> +++ b/drivers/usb/gadget/udc/lpc32xx_udc.c
> @@ -938,7 +938,7 @@ static struct lpc32xx_usbd_dd_gad *udc_dd_alloc(struct lpc32xx_udc *udc)
> struct lpc32xx_usbd_dd_gad *dd;
>
> dd = (struct lpc32xx_usbd_dd_gad *) dma_pool_alloc(
> - udc->dd_cache, (GFP_KERNEL | GFP_DMA), &dma);
> + udc->dd_cache, (GFP_ATOMIC | GFP_DMA), &dma);
> if (dd)
> dd->this_dma = dma;
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] usb: gadget: udc: lpc32xx: allocate descriptor with GFP_ATOMIC
2019-05-10 12:42 [PATCH] usb: gadget: udc: lpc32xx: allocate descriptor with GFP_ATOMIC Alexandre Belloni
2019-05-10 15:59 ` Joe Perches
2019-05-13 11:33 ` James Grant
@ 2019-06-18 7:33 ` Felipe Balbi
2019-06-18 7:46 ` Alexandre Belloni
2 siblings, 1 reply; 6+ messages in thread
From: Felipe Balbi @ 2019-06-18 7:33 UTC (permalink / raw)
To: Alexandre Belloni, Vladimir Zapolskiy, Greg Kroah-Hartman
Cc: Sylvain Lemieux, James Grant, linux-usb, linux-arm-kernel,
linux-kernel, Alexandre Belloni
[-- Attachment #1: Type: text/plain, Size: 1074 bytes --]
Alexandre Belloni <alexandre.belloni@bootlin.com> writes:
> Gadget drivers may queue request in interrupt context. This would lead to
> a descriptor allocation in that context. In that case we would hit
> BUG_ON(in_interrupt()) in __get_vm_area_node.
>
> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
> ---
> drivers/usb/gadget/udc/lpc32xx_udc.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/usb/gadget/udc/lpc32xx_udc.c b/drivers/usb/gadget/udc/lpc32xx_udc.c
> index d8f1c60793ed..b706d9c85a35 100644
> --- a/drivers/usb/gadget/udc/lpc32xx_udc.c
> +++ b/drivers/usb/gadget/udc/lpc32xx_udc.c
> @@ -938,7 +938,7 @@ static struct lpc32xx_usbd_dd_gad *udc_dd_alloc(struct lpc32xx_udc *udc)
> struct lpc32xx_usbd_dd_gad *dd;
>
> dd = (struct lpc32xx_usbd_dd_gad *) dma_pool_alloc(
> - udc->dd_cache, (GFP_KERNEL | GFP_DMA), &dma);
> + udc->dd_cache, (GFP_ATOMIC | GFP_DMA), &dma);
doesn't apply:
checking file drivers/usb/gadget/udc/lpc32xx_udc.c
Hunk #1 FAILED at 938.
--
balbi
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] usb: gadget: udc: lpc32xx: allocate descriptor with GFP_ATOMIC
2019-06-18 7:33 ` Felipe Balbi
@ 2019-06-18 7:46 ` Alexandre Belloni
2019-06-18 8:45 ` Felipe Balbi
0 siblings, 1 reply; 6+ messages in thread
From: Alexandre Belloni @ 2019-06-18 7:46 UTC (permalink / raw)
To: Felipe Balbi
Cc: Vladimir Zapolskiy, Greg Kroah-Hartman, Sylvain Lemieux,
James Grant, linux-usb, linux-arm-kernel, linux-kernel
Hi,
On 18/06/2019 10:33:41+0300, Felipe Balbi wrote:
> Alexandre Belloni <alexandre.belloni@bootlin.com> writes:
>
> > Gadget drivers may queue request in interrupt context. This would lead to
> > a descriptor allocation in that context. In that case we would hit
> > BUG_ON(in_interrupt()) in __get_vm_area_node.
> >
> > Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
> > ---
> > drivers/usb/gadget/udc/lpc32xx_udc.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/usb/gadget/udc/lpc32xx_udc.c b/drivers/usb/gadget/udc/lpc32xx_udc.c
> > index d8f1c60793ed..b706d9c85a35 100644
> > --- a/drivers/usb/gadget/udc/lpc32xx_udc.c
> > +++ b/drivers/usb/gadget/udc/lpc32xx_udc.c
> > @@ -938,7 +938,7 @@ static struct lpc32xx_usbd_dd_gad *udc_dd_alloc(struct lpc32xx_udc *udc)
> > struct lpc32xx_usbd_dd_gad *dd;
> >
> > dd = (struct lpc32xx_usbd_dd_gad *) dma_pool_alloc(
> > - udc->dd_cache, (GFP_KERNEL | GFP_DMA), &dma);
> > + udc->dd_cache, (GFP_ATOMIC | GFP_DMA), &dma);
>
> doesn't apply:
>
> checking file drivers/usb/gadget/udc/lpc32xx_udc.c
> Hunk #1 FAILED at 938.
>
You already applied it for v5.2-rc5
--
Alexandre Belloni, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] usb: gadget: udc: lpc32xx: allocate descriptor with GFP_ATOMIC
2019-06-18 7:46 ` Alexandre Belloni
@ 2019-06-18 8:45 ` Felipe Balbi
0 siblings, 0 replies; 6+ messages in thread
From: Felipe Balbi @ 2019-06-18 8:45 UTC (permalink / raw)
To: Alexandre Belloni
Cc: Vladimir Zapolskiy, Greg Kroah-Hartman, Sylvain Lemieux,
James Grant, linux-usb, linux-arm-kernel, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 1401 bytes --]
Hi,
Alexandre Belloni <alexandre.belloni@bootlin.com> writes:
> Hi,
>
> On 18/06/2019 10:33:41+0300, Felipe Balbi wrote:
>> Alexandre Belloni <alexandre.belloni@bootlin.com> writes:
>>
>> > Gadget drivers may queue request in interrupt context. This would lead to
>> > a descriptor allocation in that context. In that case we would hit
>> > BUG_ON(in_interrupt()) in __get_vm_area_node.
>> >
>> > Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
>> > ---
>> > drivers/usb/gadget/udc/lpc32xx_udc.c | 2 +-
>> > 1 file changed, 1 insertion(+), 1 deletion(-)
>> >
>> > diff --git a/drivers/usb/gadget/udc/lpc32xx_udc.c b/drivers/usb/gadget/udc/lpc32xx_udc.c
>> > index d8f1c60793ed..b706d9c85a35 100644
>> > --- a/drivers/usb/gadget/udc/lpc32xx_udc.c
>> > +++ b/drivers/usb/gadget/udc/lpc32xx_udc.c
>> > @@ -938,7 +938,7 @@ static struct lpc32xx_usbd_dd_gad *udc_dd_alloc(struct lpc32xx_udc *udc)
>> > struct lpc32xx_usbd_dd_gad *dd;
>> >
>> > dd = (struct lpc32xx_usbd_dd_gad *) dma_pool_alloc(
>> > - udc->dd_cache, (GFP_KERNEL | GFP_DMA), &dma);
>> > + udc->dd_cache, (GFP_ATOMIC | GFP_DMA), &dma);
>>
>> doesn't apply:
>>
>> checking file drivers/usb/gadget/udc/lpc32xx_udc.c
>> Hunk #1 FAILED at 938.
>>
>
> You already applied it for v5.2-rc5
d'oh!
Guess I haven't looked at my inbox in a while :-p
thanks
--
balbi
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2019-06-18 8:45 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-05-10 12:42 [PATCH] usb: gadget: udc: lpc32xx: allocate descriptor with GFP_ATOMIC Alexandre Belloni
2019-05-10 15:59 ` Joe Perches
2019-05-13 11:33 ` James Grant
2019-06-18 7:33 ` Felipe Balbi
2019-06-18 7:46 ` Alexandre Belloni
2019-06-18 8:45 ` Felipe Balbi
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).