[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Zyn8dL7mrZ0eSM0w@valkosipuli.retiisi.eu>
Date: Tue, 5 Nov 2024 11:07:32 +0000
From: Sakari Ailus <sakari.ailus@....fi>
To: Ricardo Ribalda <ribalda@...omium.org>
Cc: Laurent Pinchart <laurent.pinchart@...asonboard.com>,
Mauro Carvalho Chehab <mchehab@...nel.org>,
Hans Verkuil <hverkuil@...all.nl>, linux-media@...r.kernel.org,
linux-kernel@...r.kernel.org, stable@...r.kernel.org,
Sergey Senozhatsky <senozhatsky@...omium.org>
Subject: Re: [PATCH v2] media: uvcvideo: Fix crash during unbind if gpio unit
is in use
On Tue, Nov 05, 2024 at 10:53:59AM +0000, Ricardo Ribalda wrote:
> @@ -1329,15 +1329,28 @@ static int uvc_gpio_parse(struct uvc_device *dev)
> static int uvc_gpio_init_irq(struct uvc_device *dev)
> {
> struct uvc_entity *unit = dev->gpio_unit;
> + int ret;
>
> if (!unit || unit->gpio.irq < 0)
> return 0;
>
> - return devm_request_threaded_irq(&dev->udev->dev, unit->gpio.irq, NULL,
> - uvc_gpio_irq,
> - IRQF_ONESHOT | IRQF_TRIGGER_FALLING |
> - IRQF_TRIGGER_RISING,
> - "uvc_privacy_gpio", dev);
> + ret = request_threaded_irq(unit->gpio.irq, NULL, uvc_gpio_irq,
> + IRQF_ONESHOT | IRQF_TRIGGER_FALLING |
> + IRQF_TRIGGER_RISING,
> + "uvc_privacy_gpio", dev);
> +
> + if (!ret)
> + dev->gpio_unit->gpio.inited = true;
I missed:
unit->gpio...;
Or remove unit variable altogether, it's not really needed.
--
Sakari Ailus
Powered by blists - more mailing lists