Re: [PATCH] staging:iio:adc:ad7280a: Use GFP_ATOMIC in interrupt handler

From: Lars-Peter Clausen
Date: Fri Jun 29 2018 - 01:05:29 EST


On 06/29/2018 01:55 AM, Karim Eshapa wrote:
> Use GFP_ATOMIC rather GFP_KERNEL in interrupt handler,
> as GFP_KERNEL may sleep according to slab allocator.

This is a threaded interrupt. Sleeping is OK.

>
> Signed-off-by: Karim Eshapa <karim.eshapa@xxxxxxxxx>
> ---
> drivers/staging/iio/adc/ad7280a.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/staging/iio/adc/ad7280a.c b/drivers/staging/iio/adc/ad7280a.c
> index b736275c10f5..25c4fbc303f7 100644
> --- a/drivers/staging/iio/adc/ad7280a.c
> +++ b/drivers/staging/iio/adc/ad7280a.c
> @@ -692,7 +692,7 @@ static irqreturn_t ad7280_event_handler(int irq, void *private)
> unsigned int *channels;
> int i, ret;
>
> - channels = kcalloc(st->scan_cnt, sizeof(*channels), GFP_KERNEL);
> + channels = kcalloc(st->scan_cnt, sizeof(*channels), GFP_ATOMIC);
> if (!channels)
> return IRQ_HANDLED;
>
>