Re: [PATCH 6.1.y] media: uvcvideo: Fix crash during unbind if gpio unit is in use

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



[ Sasha's backport helper bot ]

Hi,

Summary of potential issues:
⚠️ Found matching upstream commit but patch is missing proper reference to it

Found matching upstream commit: a9ea1a3d88b7947ce8cadb2afceee7a54872bbc5

Status in newer kernel trees:
6.13.y | Present (different SHA1: 5d2e65cbe53d)
6.12.y | Present (different SHA1: d2eac8b14ac6)
6.6.y | Present (different SHA1: 0b5e0445bc83)

Note: The patch differs from the upstream commit:
---
1:  a9ea1a3d88b79 ! 1:  459a9ebcbed5f media: uvcvideo: Fix crash during unbind if gpio unit is in use
    @@ Commit message
         Link: https://lore.kernel.org/r/20241106-uvc-crashrmmod-v6-1-fbf9781c6e83@xxxxxxxxxxxx
         Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
         Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@xxxxxxxxxx>
    +    (cherry picked from commit a9ea1a3d88b7947ce8cadb2afceee7a54872bbc5)
     
      ## drivers/media/usb/uvc/uvc_driver.c ##
     @@ drivers/media/usb/uvc/uvc_driver.c: static int uvc_gpio_parse(struct uvc_device *dev)
    @@ drivers/media/usb/uvc/uvc_driver.c: static int uvc_gpio_parse(struct uvc_device
      		return PTR_ERR_OR_ZERO(gpio_privacy);
      
      	irq = gpiod_to_irq(gpio_privacy);
    - 	if (irq < 0)
    --		return dev_err_probe(&dev->udev->dev, irq,
    +-	if (irq < 0) {
    +-		if (irq != EPROBE_DEFER)
    +-			dev_err(&dev->udev->dev,
    +-				"No IRQ for privacy GPIO (%d)\n", irq);
    +-		return irq;
    +-	}
    ++	if (irq < 0)
     +		return dev_err_probe(&dev->intf->dev, irq,
    - 				     "No IRQ for privacy GPIO\n");
    ++				     "No IRQ for privacy GPIO\n");
      
    - 	unit = uvc_alloc_new_entity(dev, UVC_EXT_GPIO_UNIT,
    + 	unit = uvc_alloc_entity(UVC_EXT_GPIO_UNIT, UVC_EXT_GPIO_UNIT_ID, 0, 1);
    + 	if (!unit)
     @@ drivers/media/usb/uvc/uvc_driver.c: static int uvc_gpio_parse(struct uvc_device *dev)
      static int uvc_gpio_init_irq(struct uvc_device *dev)
      {
---

Results of testing on various branches:

| Branch                    | Patch Apply | Build Test |
|---------------------------|-------------|------------|
| stable/linux-6.1.y        |  Success    |  Success   |




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux