]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commit
media: uvcvideo: Support devices that report an OT as an entity source
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Mon, 8 Mar 2021 10:31:28 +0000 (11:31 +0100)
committerStefan Bader <stefan.bader@canonical.com>
Fri, 13 Aug 2021 07:29:35 +0000 (09:29 +0200)
commitbb47908ad303c21bd6f0837f7204e7e9f82de7c7
tree20d8853e5a7645d3cc0659a210063f89bb895718
parent9e7260001214c3cef11399653b7b9748e5abc077
media: uvcvideo: Support devices that report an OT as an entity source

BugLink: https://bugs.launchpad.net/bugs/1936969
commit 4ca052b4ea621d0002a5e5feace51f60ad5e6b23 upstream.

Some devices reference an output terminal as the source of extension
units. This is incorrect, as output terminals only have an input pin,
and thus can't be connected to any entity in the forward direction. The
resulting topology would cause issues when registering the media
controller graph. To avoid this problem, connect the extension unit to
the source of the output terminal instead.

While at it, and while no device has been reported to be affected by
this issue, also handle forward scans where two output terminals would
be connected together, and skip the terminals found through such an
invalid connection.

Reported-and-tested-by: John Nealy <jnealy3@yahoo.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
drivers/media/usb/uvc/uvc_driver.c