Commit e5ddd743 authored by Daniel Scally's avatar Daniel Scally Committed by Treehugger Robot
Browse files

BACKPORT: usb: gadget: uvc: Disable interrupt endpoint by default



The f_uvc code includes an interrupt endpoint against the VideoControl
interface. According to section 2.4.2 of the UVC specification however
this endpoint is optional in at least some cases:

"This endpoint is optional, but may be mandatory under certain
conditions"

The conditions enumerated are whether...

1. The device supports hardware triggers
2. The device implements any AutoUpdate controls
3. The device implements any Asynchronous controls

As all of those things are implementation dependent, this endpoint
might be unnecessary for some users. Further to that it is unusable
in the current implementation as there is no mechanism within the
UVC gadget driver that allows data to be sent over that endpoint.
Disable the interrupt endpoint by default, but check whether the
user has asked for it to be enabled in configfs and continue to
generate it if so.

Signed-off-by: default avatarDaniel Scally <dan.scally@ideasonboard.com>
Link: https://lore.kernel.org/r/20230130105045.120886-4-dan.scally@ideasonboard.com


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>

Bug: 342069269
(cherry picked from commit 3078212c
https: //git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
master)
[Akash: Resolved minor conflict in drivers/usb/gadget/function/f_uvc.c ]

Change-Id: I3fe0cd2146d27412b15836662e2ff98b4f9eda14
Signed-off-by: default avatarAkash Kumar <quic_akakum@quicinc.com>
parent c90eb528
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment