Hi Dan On Fri, Mar 19, 2021 at 3:48 PM Dan Carpenter <dan.carpenter@xxxxxxxxxx> wrote: > > The uvc_submit_urb() function is supposed to use the passed in GFP_ > flags but this code accidentally uses GFP_KERNEL instead. Some of > the callers are passing GFP_ATOMIC so presumably this can lead to > sleeping in atomic context. > > Fixes: b20f917f84e6 ("media: uvcvideo: Use dma_alloc_noncontiguous API") > Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> I reported the same issue just some minutes ago. Christoph has already fixed the patch in his tree. Where did you get the patchset? from next? from linus? or directly from Chirstoph tree? Thanks! > --- > drivers/media/usb/uvc/uvc_video.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/media/usb/uvc/uvc_video.c b/drivers/media/usb/uvc/uvc_video.c > index cdd8eb500bb7..a777b389a66e 100644 > --- a/drivers/media/usb/uvc/uvc_video.c > +++ b/drivers/media/usb/uvc/uvc_video.c > @@ -1119,7 +1119,7 @@ static int uvc_submit_urb(struct uvc_urb *uvc_urb, gfp_t mem_flags) > dma_sync_sgtable_for_device(uvc_stream_to_dmadev(uvc_urb->stream), > uvc_urb->sgt, > uvc_stream_dir(uvc_urb->stream)); > - return usb_submit_urb(uvc_urb->urb, GFP_KERNEL); > + return usb_submit_urb(uvc_urb->urb, mem_flags); > } > > /* > -- > 2.30.2 > -- Ricardo Ribalda