[v2,2/2] usb: webcam: Invalid size of Processing Unit Descriptor

Message ID 20210310044540.4088-1-pawell@gli-login.cadence.com
State New
Headers show
Series
  • Untitled series #109103
Related show

Commit Message

Pawel Laszczak March 10, 2021, 4:45 a.m.
From: Pawel Laszczak <pawell@cadence.com>

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.

Signed-off-by: Pawel Laszczak <pawell@cadence.com>
---
Changelog:
v2:
- updated UVC_DT_PROCESSING_UNIT_SIZE macro

 include/uapi/linux/usb/video.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Patch

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 {