Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'media/v7.0-6' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media

Pull media fixes from Mauro Carvalho Chehab:

- uvcvideo may cause OOPS when out of memory

- remove a deadlock in the ccs driver

* tag 'media/v7.0-6' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media:
media: ccs: Avoid deadlock in ccs_init_state()
media: uvcvideo: Fix bug in error path of uvc_alloc_urb_buffers

+5 -6
-2
drivers/media/i2c/ccs/ccs-core.c
··· 3080 3080 struct v4l2_rect *crop = 3081 3081 v4l2_subdev_state_get_crop(sd_state, pad); 3082 3082 3083 - guard(mutex)(&sensor->mutex); 3084 - 3085 3083 ccs_get_native_size(ssd, crop); 3086 3084 3087 3085 fmt->width = crop->width;
+5 -4
drivers/media/usb/uvc/uvc_video.c
··· 1751 1751 /* 1752 1752 * Free transfer buffers. 1753 1753 */ 1754 - static void uvc_free_urb_buffers(struct uvc_streaming *stream) 1754 + static void uvc_free_urb_buffers(struct uvc_streaming *stream, 1755 + unsigned int size) 1755 1756 { 1756 1757 struct usb_device *udev = stream->dev->udev; 1757 1758 struct uvc_urb *uvc_urb; ··· 1761 1760 if (!uvc_urb->buffer) 1762 1761 continue; 1763 1762 1764 - usb_free_noncoherent(udev, stream->urb_size, uvc_urb->buffer, 1763 + usb_free_noncoherent(udev, size, uvc_urb->buffer, 1765 1764 uvc_stream_dir(stream), uvc_urb->sgt); 1766 1765 uvc_urb->buffer = NULL; 1767 1766 uvc_urb->sgt = NULL; ··· 1821 1820 1822 1821 if (!uvc_alloc_urb_buffer(stream, uvc_urb, urb_size, 1823 1822 gfp_flags)) { 1824 - uvc_free_urb_buffers(stream); 1823 + uvc_free_urb_buffers(stream, urb_size); 1825 1824 break; 1826 1825 } 1827 1826 ··· 1869 1868 } 1870 1869 1871 1870 if (free_buffers) 1872 - uvc_free_urb_buffers(stream); 1871 + uvc_free_urb_buffers(stream, stream->urb_size); 1873 1872 } 1874 1873 1875 1874 /*