diff options
author | Ben Hutchings <ben@decadent.org.uk> | 2015-09-26 16:41:18 +0100 |
---|---|---|
committer | Ben Hutchings <ben@decadent.org.uk> | 2015-09-26 16:41:18 +0100 |
commit | 1554dfda02645a879e4e6b7e457241b3c8fa4da5 (patch) | |
tree | dcaac5fed85567b1552823bdf77bda6a2dea7ef4 | |
parent | cab5840aaaf611c267de53e2ee48c91a7b16e296 (diff) | |
download | kernel_replicant_linux-1554dfda02645a879e4e6b7e457241b3c8fa4da5.tar.gz kernel_replicant_linux-1554dfda02645a879e4e6b7e457241b3c8fa4da5.tar.bz2 kernel_replicant_linux-1554dfda02645a879e4e6b7e457241b3c8fa4da5.zip |
media: uvcvideo: Disable hardware timestamps by default (Closes: #794327)
-rw-r--r-- | debian/changelog | 6 | ||||
-rw-r--r-- | debian/patches/bugfix/all/media-uvcvideo-disable-hardware-timestamps-by-defaul.patch | 66 | ||||
-rw-r--r-- | debian/patches/series | 1 |
3 files changed, 73 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog index 101c90a22eaf..ee76022fe64a 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +linux (4.2.1-2) UNRELEASED; urgency=medium + + * media: uvcvideo: Disable hardware timestamps by default (Closes: #794327) + + -- Ben Hutchings <ben@decadent.org.uk> Sat, 26 Sep 2015 16:40:51 +0100 + linux (4.2.1-1) unstable; urgency=medium * New upstream stable update: diff --git a/debian/patches/bugfix/all/media-uvcvideo-disable-hardware-timestamps-by-defaul.patch b/debian/patches/bugfix/all/media-uvcvideo-disable-hardware-timestamps-by-defaul.patch new file mode 100644 index 000000000000..1ac0b528c455 --- /dev/null +++ b/debian/patches/bugfix/all/media-uvcvideo-disable-hardware-timestamps-by-defaul.patch @@ -0,0 +1,66 @@ +From: Laurent Pinchart <laurent.pinchart@ideasonboard.com> +Date: Mon, 27 Jul 2015 11:06:48 -0300 +Subject: [media] uvcvideo: Disable hardware timestamps by default +Origin: http://git.linuxtv.org/cgit.cgi/media_tree.git/commit?id=5d0fd3c806b9e932010931ae67dbb482020e0882 +Bug-Debian: https://bugs.debian.org/794327 + +The hardware timestamping implementation has been reported as not +working correctly on at least the Logitech C920. Until this can be +fixed, disable it by default. + +Reported-by: Peter Rabbitson <rabbit@rabbit.us> +Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> +Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com> +--- + drivers/media/usb/uvc/uvc_driver.c | 3 +++ + drivers/media/usb/uvc/uvc_video.c | 3 +++ + drivers/media/usb/uvc/uvcvideo.h | 1 + + 3 files changed, 7 insertions(+) + +diff --git a/drivers/media/usb/uvc/uvc_driver.c b/drivers/media/usb/uvc/uvc_driver.c +index 4b5b3e8..d11fd6a 100644 +--- a/drivers/media/usb/uvc/uvc_driver.c ++++ b/drivers/media/usb/uvc/uvc_driver.c +@@ -32,6 +32,7 @@ + #define DRIVER_DESC "USB Video Class driver" + + unsigned int uvc_clock_param = CLOCK_MONOTONIC; ++unsigned int uvc_hw_timestamps_param; + unsigned int uvc_no_drop_param; + static unsigned int uvc_quirks_param = -1; + unsigned int uvc_trace_param; +@@ -2078,6 +2079,8 @@ static int uvc_clock_param_set(const char *val, struct kernel_param *kp) + module_param_call(clock, uvc_clock_param_set, uvc_clock_param_get, + &uvc_clock_param, S_IRUGO|S_IWUSR); + MODULE_PARM_DESC(clock, "Video buffers timestamp clock"); ++module_param_named(hwtimestamps, uvc_hw_timestamps_param, uint, S_IRUGO|S_IWUSR); ++MODULE_PARM_DESC(hwtimestamps, "Use hardware timestamps"); + module_param_named(nodrop, uvc_no_drop_param, uint, S_IRUGO|S_IWUSR); + MODULE_PARM_DESC(nodrop, "Don't drop incomplete frames"); + module_param_named(quirks, uvc_quirks_param, uint, S_IRUGO|S_IWUSR); +diff --git a/drivers/media/usb/uvc/uvc_video.c b/drivers/media/usb/uvc/uvc_video.c +index f839654..1c4a117 100644 +--- a/drivers/media/usb/uvc/uvc_video.c ++++ b/drivers/media/usb/uvc/uvc_video.c +@@ -623,6 +623,9 @@ void uvc_video_clock_update(struct uvc_streaming *stream, + u32 rem; + u64 y; + ++ if (!uvc_hw_timestamps_param) ++ return; ++ + spin_lock_irqsave(&clock->lock, flags); + + if (clock->count < clock->size) +diff --git a/drivers/media/usb/uvc/uvcvideo.h b/drivers/media/usb/uvc/uvcvideo.h +index 816dd1a..1374bd9 100644 +--- a/drivers/media/usb/uvc/uvcvideo.h ++++ b/drivers/media/usb/uvc/uvcvideo.h +@@ -593,6 +593,7 @@ extern unsigned int uvc_clock_param; + extern unsigned int uvc_no_drop_param; + extern unsigned int uvc_trace_param; + extern unsigned int uvc_timeout_param; ++extern unsigned int uvc_hw_timestamps_param; + + #define uvc_trace(flag, msg...) \ + do { \ diff --git a/debian/patches/series b/debian/patches/series index d65aad0fcd89..38971d26f220 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -96,3 +96,4 @@ bugfix/all/vfs-test-for-and-handle-paths-that-are-unreachable-f.patch bugfix/all/rds-verify-the-underlying-transport-exists-before-cr.patch bugfix/all/e1000e-fix-tight-loop-implementation-of-systime-read.patch bugfix/all/usb-whiteheat-fix-potential-null-deref-at-probe.patch +bugfix/all/media-uvcvideo-disable-hardware-timestamps-by-defaul.patch |