Re: [PATCH v3 2/3] media: uvcvideo: Refactor the status irq API

From: Ricardo Ribalda
Date: Tue Mar 26 2024 - 04:50:25 EST


Hi Sergey

On Tue, 26 Mar 2024 at 09:42, Sergey Senozhatsky
<senozhatsky@xxxxxxxxxxxx> wrote:
>
> On (24/03/25 16:31), Ricardo Ribalda wrote:
> > drivers/media/usb/uvc/uvc_driver.c | 13 ++-------
> > drivers/media/usb/uvc/uvc_status.c | 57 ++++++++++++++++++++++++++++++++++++--
> > drivers/media/usb/uvc/uvc_v4l2.c | 22 ++++-----------
> > drivers/media/usb/uvc/uvcvideo.h | 10 ++++---
> > 4 files changed, 68 insertions(+), 34 deletions(-)
> >
> > diff --git a/drivers/media/usb/uvc/uvc_driver.c b/drivers/media/usb/uvc/uvc_driver.c
> > index 17fc945c8deb6..b579644ac0745 100644
> > --- a/drivers/media/usb/uvc/uvc_driver.c
> > +++ b/drivers/media/usb/uvc/uvc_driver.c
> > @@ -2116,7 +2116,6 @@ static int uvc_probe(struct usb_interface *intf,
> > INIT_LIST_HEAD(&dev->streams);
> > kref_init(&dev->ref);
> > atomic_set(&dev->nmappings, 0);
> > - mutex_init(&dev->lock);
>
> Where is this getting initialized?

in uvc_status_init((). It is now called status_lock

But it should be init before (ep == NULL)... otherwise it will not
work in devices without the int_ep.

Let me send a new version

Thanks!




--
Ricardo Ribalda