summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunzhong Pan <panjunzhong@linux.spacemit.com>2026-03-06 11:30:09 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2026-03-11 16:19:04 +0100
commit56135c0c60b07729401af9d329fa9c0eded845a6 (patch)
tree87d9576d69af27cfed182d1084c5dcc3e69da898
parentae4ff9dead5efa2025eddfcdb29411432bf40a7c (diff)
usb: gadget: uvc: fix interval_duration calculation
To correctly convert bInterval as interval_duration: interval_duration = 2^(bInterval-1) * frame_interval Current code uses a wrong left shift operand, computing 2^bInterval instead of 2^(bInterval-1). Fixes: 010dc57cb516 ("usb: gadget: uvc: fix interval_duration calculation") Cc: stable <stable@kernel.org> Signed-off-by: Junzhong Pan <panjunzhong@linux.spacemit.com> Reviewed-by: Xu Yang <xu.yang_2@nxp.com> Link: https://patch.msgid.link/20260306-fix-uvc-interval-v1-1-9a2df6859859@linux.spacemit.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/usb/gadget/function/uvc_video.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/usb/gadget/function/uvc_video.c b/drivers/usb/gadget/function/uvc_video.c
index 7cea641b06b4..2f9700b3f1b6 100644
--- a/drivers/usb/gadget/function/uvc_video.c
+++ b/drivers/usb/gadget/function/uvc_video.c
@@ -513,7 +513,7 @@ uvc_video_prep_requests(struct uvc_video *video)
return;
}
- interval_duration = 2 << (video->ep->desc->bInterval - 1);
+ interval_duration = 1 << (video->ep->desc->bInterval - 1);
if (cdev->gadget->speed < USB_SPEED_HIGH)
interval_duration *= 10000;
else