On 10/3/23 09:55, Marvin Lin wrote: > Fix sleeping in atomic context warnings reported by the Smatch static > analysis tool. Use GFP_ATOMIC instead of GFP_KERNEL in atomic context. > > Fixes: 70721089985c ("media: nuvoton: Add driver for NPCM video capture and encoding engine") > Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> > Signed-off-by: Marvin Lin <milkfafa@xxxxxxxxx> > --- > drivers/media/platform/nuvoton/npcm-video.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/media/platform/nuvoton/npcm-video.c b/drivers/media/platform/nuvoton/npcm-video.c > index ac8d73b794d3..5d160978f7b3 100644 > --- a/drivers/media/platform/nuvoton/npcm-video.c > +++ b/drivers/media/platform/nuvoton/npcm-video.c > @@ -412,7 +412,7 @@ static unsigned int npcm_video_add_rect(struct npcm_video *video, > struct rect_list *list = NULL; > struct v4l2_rect *r; > > - list = kzalloc(sizeof(*list), GFP_KERNEL); > + list = kzalloc(sizeof(*list), GFP_ATOMIC); > if (!list) > return 0; > > @@ -467,7 +467,7 @@ static struct rect_list *npcm_video_new_rect(struct npcm_video *video, > struct rect_list *list = NULL; > struct v4l2_rect *r; > > - list = kzalloc(sizeof(*list), GFP_KERNEL); > + list = kzalloc(sizeof(*list), GFP_ATOMIC); > if (!list) > return NULL; > I'm not really sure this is the right approach. Looking closer at the code I notice that npcm_video_irq is a threaded interrupt handler, so wouldn't it be easier to change the video->lock spinlock to a mutex? Regards, Hans