Re: [PATCH 5.10.y] media: uvcvideo: Only save async fh if success

[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
ℹ️ Patch is missing in 6.13.y (ignore if backport was sent)
⚠️ Commit missing in all newer stable branches

Found matching upstream commit: d9fecd096f67a4469536e040a8a10bbfb665918b

Status in newer kernel trees:
6.13.y | Present (different SHA1: e515ccef73e2)
6.12.y | Present (different SHA1: 34fb9eb31d66)
6.6.y | Present (different SHA1: 08384382e1db)
6.1.y | Present (different SHA1: 050053a7c0ad)
5.15.y | Present (different SHA1: cb6b5a03892d)
5.4.y | Not found

Note: The patch differs from the upstream commit:
---
1:  d9fecd096f67a ! 1:  d1be59fbb0d41 media: uvcvideo: Only save async fh if success
    @@ Commit message
         Link: https://lore.kernel.org/r/20241203-uvc-fix-async-v6-1-26c867231118@xxxxxxxxxxxx
         Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
         Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@xxxxxxxxxx>
    +    (cherry picked from commit d9fecd096f67a4469536e040a8a10bbfb665918b)
     
      ## drivers/media/usb/uvc/uvc_ctrl.c ##
     @@ drivers/media/usb/uvc/uvc_ctrl.c: int uvc_ctrl_begin(struct uvc_video_chain *chain)
      }
      
      static int uvc_ctrl_commit_entity(struct uvc_device *dev,
    --	struct uvc_entity *entity, int rollback, struct uvc_control **err_ctrl)
    +-	struct uvc_entity *entity, int rollback)
     +				  struct uvc_fh *handle,
     +				  struct uvc_entity *entity,
    -+				  int rollback,
    -+				  struct uvc_control **err_ctrl)
    ++				  int rollback)
      {
      	struct uvc_control *ctrl;
      	unsigned int i;
     @@ drivers/media/usb/uvc/uvc_ctrl.c: static int uvc_ctrl_commit_entity(struct uvc_device *dev,
    - 				*err_ctrl = ctrl;
    + 
    + 		if (ret < 0)
      			return ret;
    - 		}
     +
     +		if (!rollback && handle &&
     +		    ctrl->info.flags & UVC_CTRL_FLAG_ASYNCHRONOUS)
    @@ drivers/media/usb/uvc/uvc_ctrl.c: int __uvc_ctrl_commit(struct uvc_fh *handle, i
      
      	/* Find the control. */
      	list_for_each_entry(entity, &chain->entities, chain) {
    --		ret = uvc_ctrl_commit_entity(chain->dev, entity, rollback,
    --					     &err_ctrl);
    +-		ret = uvc_ctrl_commit_entity(chain->dev, entity, rollback);
     +		ret = uvc_ctrl_commit_entity(chain->dev, handle, entity,
    -+					     rollback, &err_ctrl);
    - 		if (ret < 0) {
    - 			if (ctrls)
    - 				ctrls->error_idx =
    ++					     rollback);
    + 		if (ret < 0)
    + 			goto done;
    + 	}
     @@ drivers/media/usb/uvc/uvc_ctrl.c: int uvc_ctrl_set(struct uvc_fh *handle,
      	mapping->set(mapping, value,
      		uvc_ctrl_data(ctrl, UVC_CTRL_DATA_CURRENT));
    @@ drivers/media/usb/uvc/uvc_ctrl.c: int uvc_ctrl_restore_values(struct uvc_device
      			ctrl->dirty = 1;
      		}
      
    --		ret = uvc_ctrl_commit_entity(dev, entity, 0, NULL);
    -+		ret = uvc_ctrl_commit_entity(dev, NULL, entity, 0, NULL);
    +-		ret = uvc_ctrl_commit_entity(dev, entity, 0);
    ++		ret = uvc_ctrl_commit_entity(dev, NULL, entity, 0);
      		if (ret < 0)
      			return ret;
      	}
---

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