From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: Pawel Laszczak <pawell@cadence.com>,
Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
Peter Chen <peter.chen@kernel.org>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Sasha Levin <sashal@kernel.org>,
linux-usb@vger.kernel.org
Subject: [PATCH AUTOSEL 5.4 08/34] usb: webcam: Invalid size of Processing Unit Descriptor
Date: Sun, 2 May 2021 10:04:08 -0400 [thread overview]
Message-ID: <20210502140434.2719553-8-sashal@kernel.org> (raw)
In-Reply-To: <20210502140434.2719553-1-sashal@kernel.org>
From: Pawel Laszczak <pawell@cadence.com>
[ Upstream commit 6a154ec9ef6762c774cd2b50215c7a8f0f08a862 ]
According with USB Device Class Definition for Video Device the
Processing Unit Descriptor bLength should be 12 (10 + bmControlSize),
but it has 11.
Invalid length caused that Processing Unit Descriptor Test Video form
CV tool failed. To fix this issue patch adds bmVideoStandards into
uvc_processing_unit_descriptor structure.
The bmVideoStandards field was added in UVC 1.1 and it wasn't part of
UVC 1.0a.
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Pawel Laszczak <pawell@cadence.com>
Reviewed-by: Peter Chen <peter.chen@kernel.org>
Link: https://lore.kernel.org/r/20210315071748.29706-1-pawell@gli-login.cadence.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/usb/gadget/function/f_uvc.c | 1 +
drivers/usb/gadget/legacy/webcam.c | 1 +
include/uapi/linux/usb/video.h | 3 ++-
3 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/usb/gadget/function/f_uvc.c b/drivers/usb/gadget/function/f_uvc.c
index 79ecdbb936c1..c03b67aab1a8 100644
--- a/drivers/usb/gadget/function/f_uvc.c
+++ b/drivers/usb/gadget/function/f_uvc.c
@@ -822,6 +822,7 @@ static struct usb_function_instance *uvc_alloc_inst(void)
pd->bmControls[0] = 1;
pd->bmControls[1] = 0;
pd->iProcessing = 0;
+ pd->bmVideoStandards = 0;
od = &opts->uvc_output_terminal;
od->bLength = UVC_DT_OUTPUT_TERMINAL_SIZE;
diff --git a/drivers/usb/gadget/legacy/webcam.c b/drivers/usb/gadget/legacy/webcam.c
index a9f8eb8e1c76..2c9eab2b863d 100644
--- a/drivers/usb/gadget/legacy/webcam.c
+++ b/drivers/usb/gadget/legacy/webcam.c
@@ -125,6 +125,7 @@ static const struct uvc_processing_unit_descriptor uvc_processing = {
.bmControls[0] = 1,
.bmControls[1] = 0,
.iProcessing = 0,
+ .bmVideoStandards = 0,
};
static const struct uvc_output_terminal_descriptor uvc_output_terminal = {
diff --git a/include/uapi/linux/usb/video.h b/include/uapi/linux/usb/video.h
index d854cb19c42c..bfdae12cdacf 100644
--- a/include/uapi/linux/usb/video.h
+++ b/include/uapi/linux/usb/video.h
@@ -302,9 +302,10 @@ struct uvc_processing_unit_descriptor {
__u8 bControlSize;
__u8 bmControls[2];
__u8 iProcessing;
+ __u8 bmVideoStandards;
} __attribute__((__packed__));
-#define UVC_DT_PROCESSING_UNIT_SIZE(n) (9+(n))
+#define UVC_DT_PROCESSING_UNIT_SIZE(n) (10+(n))
/* 3.7.2.6. Extension Unit Descriptor */
struct uvc_extension_unit_descriptor {
--
2.30.2
next prev parent reply other threads:[~2021-05-02 14:06 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-05-02 14:04 [PATCH AUTOSEL 5.4 01/34] bus: ti-sysc: Probe for l4_wkup and l4_cfg interconnect devices first Sasha Levin
2021-05-02 14:04 ` [PATCH AUTOSEL 5.4 02/34] staging: wimax/i2400m: fix byte-order issue Sasha Levin
2021-05-02 14:04 ` [PATCH AUTOSEL 5.4 03/34] spi: ath79: always call chipselect function Sasha Levin
2021-05-02 14:04 ` [PATCH AUTOSEL 5.4 04/34] spi: ath79: remove spi-master setup and cleanup assignment Sasha Levin
2021-05-02 14:04 ` [PATCH AUTOSEL 5.4 05/34] crypto: api - check for ERR pointers in crypto_destroy_tfm() Sasha Levin
2021-05-02 14:04 ` [PATCH AUTOSEL 5.4 06/34] crypto: qat - fix unmap invalid dma address Sasha Levin
2021-05-02 14:04 ` [PATCH AUTOSEL 5.4 07/34] usb: gadget: uvc: add bInterval checking for HS mode Sasha Levin
2021-05-02 14:04 ` Sasha Levin [this message]
2021-05-02 14:04 ` [PATCH AUTOSEL 5.4 09/34] genirq/matrix: Prevent allocation counter corruption Sasha Levin
2021-05-02 14:04 ` [PATCH AUTOSEL 5.4 10/34] usb: gadget: f_uac2: validate input parameters Sasha Levin
2021-05-02 14:04 ` [PATCH AUTOSEL 5.4 11/34] usb: gadget: f_uac1: " Sasha Levin
2021-05-02 14:04 ` [PATCH AUTOSEL 5.4 12/34] usb: dwc3: gadget: Ignore EP queue requests during bus reset Sasha Levin
2021-05-02 14:04 ` [PATCH AUTOSEL 5.4 13/34] usb: xhci: Fix port minor revision Sasha Levin
2021-05-02 14:04 ` [PATCH AUTOSEL 5.4 14/34] PCI: PM: Do not read power state in pci_enable_device_flags() Sasha Levin
2021-05-02 14:04 ` [PATCH AUTOSEL 5.4 15/34] x86/build: Propagate $(CLANG_FLAGS) to $(REALMODE_FLAGS) Sasha Levin
2021-05-02 14:04 ` [PATCH AUTOSEL 5.4 16/34] tee: optee: do not check memref size on return from Secure World Sasha Levin
2021-05-02 14:04 ` [PATCH AUTOSEL 5.4 17/34] perf/arm_pmu_platform: Fix error handling Sasha Levin
2021-05-02 14:04 ` [PATCH AUTOSEL 5.4 18/34] usb: xhci-mtk: support quirk to disable usb2 lpm Sasha Levin
2021-05-02 14:04 ` [PATCH AUTOSEL 5.4 19/34] xhci: check control context is valid before dereferencing it Sasha Levin
2021-05-02 14:04 ` [PATCH AUTOSEL 5.4 20/34] xhci: fix potential array out of bounds with several interrupters Sasha Levin
2021-05-02 14:04 ` [PATCH AUTOSEL 5.4 21/34] spi: dln2: Fix reference leak to master Sasha Levin
2021-05-02 14:04 ` [PATCH AUTOSEL 5.4 22/34] spi: omap-100k: " Sasha Levin
2021-05-02 14:04 ` [PATCH AUTOSEL 5.4 23/34] spi: qup: fix PM reference leak in spi_qup_remove() Sasha Levin
2021-05-02 14:04 ` [PATCH AUTOSEL 5.4 24/34] usb: musb: fix PM reference leak in musb_irq_work() Sasha Levin
2021-05-02 14:04 ` [PATCH AUTOSEL 5.4 25/34] usb: core: hub: Fix PM reference leak in usb_port_resume() Sasha Levin
2021-05-02 14:04 ` [PATCH AUTOSEL 5.4 26/34] platform/x86: thinkpad_acpi: Correct thermal sensor allocation Sasha Levin
2021-05-02 14:04 ` [PATCH AUTOSEL 5.4 27/34] tty: n_gsm: check error while registering tty devices Sasha Levin
2021-05-02 14:04 ` [PATCH AUTOSEL 5.4 28/34] intel_th: Consistency and off-by-one fix Sasha Levin
2021-05-02 14:04 ` [PATCH AUTOSEL 5.4 29/34] phy: phy-twl4030-usb: Fix possible use-after-free in twl4030_usb_remove() Sasha Levin
2021-05-02 14:04 ` [PATCH AUTOSEL 5.4 30/34] crypto: stm32/hash - Fix PM reference leak on stm32-hash.c Sasha Levin
2021-05-02 14:04 ` [PATCH AUTOSEL 5.4 31/34] crypto: stm32/cryp - Fix PM reference leak on stm32-cryp.c Sasha Levin
2021-05-02 14:04 ` [PATCH AUTOSEL 5.4 32/34] crypto: omap-aes - Fix PM reference leak on omap-aes.c Sasha Levin
2021-05-02 14:04 ` [PATCH AUTOSEL 5.4 33/34] platform/x86: intel_pmc_core: Don't use global pmcdev in quirks Sasha Levin
2021-05-02 14:04 ` [PATCH AUTOSEL 5.4 34/34] btrfs: convert logic BUG_ON()'s in replace_path to ASSERT()'s Sasha Levin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210502140434.2719553-8-sashal@kernel.org \
--to=sashal@kernel.org \
--cc=gregkh@linuxfoundation.org \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=pawell@cadence.com \
--cc=peter.chen@kernel.org \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®