Fix incorrect bandwidth on some Chicony webcams
- Fix DVB oops (rhbz 1220118)
This commit is contained in:
parent
f67345e16f
commit
65af516314
@ -619,6 +619,8 @@ Patch26201: ovl-don-t-remove-non-empty-opaque-directory.patch
|
|||||||
#rhbz 1220118
|
#rhbz 1220118
|
||||||
Patch26202: media-Fix-regression-in-some-more-dib0700-based-devi.patch
|
Patch26202: media-Fix-regression-in-some-more-dib0700-based-devi.patch
|
||||||
|
|
||||||
|
Patch26203: v4l-uvcvideo-Fix-incorrect-bandwidth-with-Chicony-de.patch
|
||||||
|
|
||||||
# END OF PATCH DEFINITIONS
|
# END OF PATCH DEFINITIONS
|
||||||
|
|
||||||
%endif
|
%endif
|
||||||
@ -1359,6 +1361,8 @@ ApplyPatch ovl-don-t-remove-non-empty-opaque-directory.patch
|
|||||||
#rhbz 1220118
|
#rhbz 1220118
|
||||||
ApplyPatch media-Fix-regression-in-some-more-dib0700-based-devi.patch
|
ApplyPatch media-Fix-regression-in-some-more-dib0700-based-devi.patch
|
||||||
|
|
||||||
|
ApplyPatch v4l-uvcvideo-Fix-incorrect-bandwidth-with-Chicony-de.patch
|
||||||
|
|
||||||
# END OF PATCH APPLICATIONS
|
# END OF PATCH APPLICATIONS
|
||||||
|
|
||||||
%endif
|
%endif
|
||||||
@ -2220,6 +2224,7 @@ fi
|
|||||||
#
|
#
|
||||||
%changelog
|
%changelog
|
||||||
* Mon May 18 2015 Josh Boyer <jwboyer@fedoraproject.org>
|
* Mon May 18 2015 Josh Boyer <jwboyer@fedoraproject.org>
|
||||||
|
- Fix incorrect bandwidth on some Chicony webcams
|
||||||
- Fix DVB oops (rhbz 1220118)
|
- Fix DVB oops (rhbz 1220118)
|
||||||
|
|
||||||
* Mon May 18 2015 Josh Boyer <jwboyer@fedoraproject.org> - 4.1.0-0.rc3.git4.1
|
* Mon May 18 2015 Josh Boyer <jwboyer@fedoraproject.org> - 4.1.0-0.rc3.git4.1
|
||||||
|
35
v4l-uvcvideo-Fix-incorrect-bandwidth-with-Chicony-de.patch
Normal file
35
v4l-uvcvideo-Fix-incorrect-bandwidth-with-Chicony-de.patch
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
||||||
|
Date: Mon, 18 May 2015 10:53:48 +0300
|
||||||
|
Subject: [PATCH] v4l: uvcvideo: Fix incorrect bandwidth with Chicony device
|
||||||
|
04f2:b50b
|
||||||
|
|
||||||
|
The "TOSHIBA Web Camera - 5M" Chicony device (04f2:b50b) seems to
|
||||||
|
compute the bandwidth on 16 bits and erroneously sign-extend it to
|
||||||
|
32 bits, resulting in a huge bandwidth value. Detect and fix that
|
||||||
|
condition by setting the 16 MSBs to 0 when they're all equal to 1.
|
||||||
|
|
||||||
|
Reported-by: Hans de Goede <hdegoede@redhat.com>
|
||||||
|
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
||||||
|
---
|
||||||
|
drivers/media/usb/uvc/uvc_video.c | 8 ++++++++
|
||||||
|
1 file changed, 8 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/drivers/media/usb/uvc/uvc_video.c b/drivers/media/usb/uvc/uvc_video.c
|
||||||
|
index 20ccc9d315dc..f839654ea436 100644
|
||||||
|
--- a/drivers/media/usb/uvc/uvc_video.c
|
||||||
|
+++ b/drivers/media/usb/uvc/uvc_video.c
|
||||||
|
@@ -119,6 +119,14 @@ static void uvc_fixup_video_ctrl(struct uvc_streaming *stream,
|
||||||
|
ctrl->dwMaxVideoFrameSize =
|
||||||
|
frame->dwMaxVideoFrameBufferSize;
|
||||||
|
|
||||||
|
+ /* The "TOSHIBA Web Camera - 5M" Chicony device (04f2:b50b) seems to
|
||||||
|
+ * compute the bandwidth on 16 bits and erroneously sign-extend it to
|
||||||
|
+ * 32 bits, resulting in a huge bandwidth value. Detect and fix that
|
||||||
|
+ * condition by setting the 16 MSBs to 0 when they're all equal to 1.
|
||||||
|
+ */
|
||||||
|
+ if ((ctrl->dwMaxPayloadTransferSize & 0xffff0000) == 0xffff0000)
|
||||||
|
+ ctrl->dwMaxPayloadTransferSize &= ~0xffff0000;
|
||||||
|
+
|
||||||
|
if (!(format->flags & UVC_FMT_FLAG_COMPRESSED) &&
|
||||||
|
stream->dev->quirks & UVC_QUIRK_FIX_BANDWIDTH &&
|
||||||
|
stream->intf->num_altsetting > 1) {
|
Loading…
Reference in New Issue
Block a user