Re: [PATCH 5.10.y] media: uvcvideo: Require entities to have a non-zero unique ID

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

 



[ Sasha's backport helper bot ]

Hi,

Found matching upstream commit: 3dd075fe8ebbc6fcbf998f81a75b8c4b159a6195

WARNING: Author mismatch between patch and found commit:
Backport author: Ricardo Ribalda <ribalda@xxxxxxxxxxxx>
Commit author: Thadeu Lima de Souza Cascardo <cascardo@xxxxxxxxxx>


Status in newer kernel trees:
6.12.y | Not found
6.6.y | Not found
6.1.y | Not found
5.15.y | Not found
5.10.y | Not found

Note: The patch differs from the upstream commit:
---
1:  3dd075fe8ebbc ! 1:  9b7a621838d34 media: uvcvideo: Require entities to have a non-zero unique ID
    @@ Commit message
         Link: https://lore.kernel.org/r/20240913180601.1400596-2-cascardo@xxxxxxxxxx
         Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
         Signed-off-by: Hans Verkuil <hverkuil-cisco@xxxxxxxxx>
    +    (cherry picked from commit 3dd075fe8ebbc6fcbf998f81a75b8c4b159a6195)
     
      ## drivers/media/usb/uvc/uvc_driver.c ##
    -@@ drivers/media/usb/uvc/uvc_driver.c: static const u8 uvc_media_transport_input_guid[16] =
    - 	UVC_GUID_UVC_MEDIA_TRANSPORT_INPUT;
    - static const u8 uvc_processing_guid[16] = UVC_GUID_UVC_PROCESSING;
    +@@ drivers/media/usb/uvc/uvc_driver.c: static int uvc_parse_streaming(struct uvc_device *dev,
    + 	return ret;
    + }
      
    --static struct uvc_entity *uvc_alloc_entity(u16 type, u16 id,
    +-static struct uvc_entity *uvc_alloc_entity(u16 type, u8 id,
     -		unsigned int num_pads, unsigned int extra_size)
     +static struct uvc_entity *uvc_alloc_new_entity(struct uvc_device *dev, u16 type,
     +					       u16 id, unsigned int num_pads,
    @@ drivers/media/usb/uvc/uvc_driver.c: static const u8 uvc_media_transport_input_gu
      	extra_size = roundup(extra_size, sizeof(*entity->pads));
      	if (num_pads)
      		num_inputs = type & UVC_TERM_OUTPUT ? num_pads : num_pads - 1;
    -@@ drivers/media/usb/uvc/uvc_driver.c: static struct uvc_entity *uvc_alloc_entity(u16 type, u16 id,
    +@@ drivers/media/usb/uvc/uvc_driver.c: static struct uvc_entity *uvc_alloc_entity(u16 type, u8 id,
      	     + num_inputs;
      	entity = kzalloc(size, GFP_KERNEL);
      	if (entity == NULL)
    @@ drivers/media/usb/uvc/uvc_driver.c: static int uvc_parse_vendor_control(struct u
     +		if (IS_ERR(unit))
     +			return PTR_ERR(unit);
      
    - 		memcpy(unit->guid, &buffer[4], 16);
    + 		memcpy(unit->extension.guidExtensionCode, &buffer[4], 16);
      		unit->extension.bNumControls = buffer[20];
     @@ drivers/media/usb/uvc/uvc_driver.c: static int uvc_parse_standard_control(struct uvc_device *dev,
      			return -EINVAL;
    @@ drivers/media/usb/uvc/uvc_driver.c: static int uvc_parse_standard_control(struct
     +		if (IS_ERR(unit))
     +			return PTR_ERR(unit);
      
    - 		memcpy(unit->guid, &buffer[4], 16);
    + 		memcpy(unit->extension.guidExtensionCode, &buffer[4], 16);
      		unit->extension.bNumControls = buffer[20];
    -@@ drivers/media/usb/uvc/uvc_driver.c: static int uvc_gpio_parse(struct uvc_device *dev)
    - 		return dev_err_probe(&dev->udev->dev, irq,
    - 				     "No IRQ for privacy GPIO\n");
    - 
    --	unit = uvc_alloc_entity(UVC_EXT_GPIO_UNIT, UVC_EXT_GPIO_UNIT_ID, 0, 1);
    --	if (!unit)
    --		return -ENOMEM;
    -+	unit = uvc_alloc_new_entity(dev, UVC_EXT_GPIO_UNIT,
    -+				    UVC_EXT_GPIO_UNIT_ID, 0, 1);
    -+	if (IS_ERR(unit))
    -+		return PTR_ERR(unit);
    - 
    - 	unit->gpio.gpio_privacy = gpio_privacy;
    - 	unit->gpio.irq = irq;
---

Results of testing on various branches:

| Branch                    | Patch Apply | Build Test |
|---------------------------|-------------|------------|
| stable/linux-5.10.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