New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 600944 link

Starred by 3 users

Issue metadata

Status: Verified
Owner:
Closed: May 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug

Blocking:
issue 616098
issue 369849



Sign in to add a comment

Realsense R200 camera enabling on chromium-os v3.18 kernel

Reported by gs0...@gmail.com, Apr 6 2016

Issue description

UserAgent: Mozilla/5.0 (X11; CrOS x86_64 8129.0.2016) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2693.2 Safari/537.36
Platform: 8129.0.2016_04_05_2247 (Test Build - harrypan) developer-build chell

Example URL:
https://github.com/IntelRealSense/librealsense/blob/master/doc/installation.md

Steps to reproduce the problem:
With David's 'crouton' gadget I could play around w/ R200 camera in 'unity-desktop', however the chromium-os v3.18 has some bugs easy to crash in UVC driver, hence it need some tinkering to enable R200 on chromebook w/ 3.18 kernel

steps to :
1. install 'crouton' w/ unity-desktop; reference: https://github.com/dnschneid/crouton/blob/master/README.md
2. follow 'librealsense' installation guide; reference: https://github.com/IntelRealSense/librealsense/blob/master/doc/installation.md
3. launch demonstration programs of librealsense, it either malfunctions or crashes thereof

What is the expected behavior?
no malfunction, nor crash

What went wrong?
Bugs in Linux UVC driver require to be patched

Did this work before? N/A 

Is it a problem with Flash or HTML5? N/A

Does this work in other browsers? N/A 

Chrome version: 51.0.2693.2  Channel: n/a
OS Version: 8129.0.2016
Flash Version:
 

Comment 1 by gs0...@gmail.com, Apr 6 2016

https://chromium-review.googlesource.com/337384 UPSTREAM: [media] uvcvideo: Fix destruction order in uvc_delete()
https://chromium-review.googlesource.com/337385 UPSTREAM: [media] uvcvideo: Move to video_ioctl2
https://chromium-review.googlesource.com/337386 UPSTREAM: [media] uvcvideo: Set buffer field to V4L2_FIELD_NONE
https://chromium-review.googlesource.com/337387 UPSTREAM: [media] uvcvideo: Separate video and queue enable/disable operations
https://chromium-review.googlesource.com/337388 UPSTREAM: [media] uvcvideo: Add function to convert from queue to stream
https://chromium-review.googlesource.com/337389 UPSTREAM: [media] uvcvideo: Implement vb2 queue start and stop stream operations
https://chromium-review.googlesource.com/337460 UPSTREAM: [media] uvcvideo: Don't stop the stream twice at file handle release
https://chromium-review.googlesource.com/337461 UPSTREAM: [media] uvcvideo: Rename uvc_alloc_buffers to uvc_request_buffers
https://chromium-review.googlesource.com/337462 UPSTREAM: [media] uvcvideo: Rename and split uvc_queue_enable to uvc_queue_st...
https://chromium-review.googlesource.com/337463 UPSTREAM: [media] uvcvideo: Return all buffers to vb2 at stream stop and ...
https://chromium-review.googlesource.com/337464 UPSTREAM: [media] media: usb: uvc: use vb2_ops_wait_prepare/finish helper
https://chromium-review.googlesource.com/337465 UPSTREAM: [media] uvcvideo: Add GUID for BGR 8:8:8
https://chromium-review.googlesource.com/337466 UPSTREAM: [media] uvcvideo: Remove extra commit on resume()
https://chromium-review.googlesource.com/337365 UPSTREAM: [media] v4l: Add packed Bayer raw10 pixel formats
https://chromium-review.googlesource.com/337366 UPSTREAM: [media] UVC: Add support for R200 depth camera

Comment 2 by gs0...@gmail.com, Apr 6 2016

Snapshots of sanity tests using librealsense demonstration programs, w/ R200 camera.
cpp-tutorial-1-depth.png
23.0 KB View Download
cpp-tutorial-2-streams.png
775 KB View Download
cpp-tutorial-3-pointcloud.png
233 KB View Download
cpp-pointcloud.png
97.5 KB View Download
cpp-multicam.png
525 KB View Download
cpp-enumerate-devices.png
223 KB View Download

Comment 3 by gs0...@gmail.com, Apr 6 2016

amd64-generic board users might need additional commit for build break when selecting v3.18 kernel:

https://chromium-review.googlesource.com/#/c/337543/

Comment 4 by gs0...@gmail.com, Apr 7 2016

supplement of step-1 crouton installation:

$ cd <crouton_download_path>
$ sudo sh ./crouton -t unity-desktop -r trusty

then go to step-2 for librealsense github project
Labels: Needs-Feedback
what's your question? if you are filing a bug, what's the expected and actual behavior?

Comment 6 by gs0...@gmail.com, Apr 8 2016

The bug is in Linux UVC driver, with current chromium-os v3.18 kernel, it causes the librealsense demonstration programs either malfunction, or crash directly, I will upload crash log later

Comment 7 by gs0...@gmail.com, Apr 8 2016

log attached

malfunction log:
[  560.327378] uvcvideo: Failed to set UVC commit control : -32 (exp. 34).
[  560.327409] uvcvideo 2-3:1.1: resume error -5

crash log:
[  578.052161] BUG: unable to handle kernel NULL pointer dereference at           (null)
[  578.052192] IP: [<ffffffffc062f31a>] uvc_queue_next_buffer+0x284a/0x3744 [uvcvideo]
[  578.052222] PGD 0
[  578.052233] Oops: 0002 [#1] PREEMPT SMP
[  578.054628] gsmi: Log Shutdown Reason 0x03
[  578.054640] Modules linked in: uvcvideo videobuf2_vmalloc videobuf2_memops videobuf2_core ccm uinput i2c_dev snd_soc_dmic snd_soc_skl_nau88l25_ssm4567 snd_soc_hdac_hdmi rfcomm snd_soc_skl snd_soc_skl_ipc snd_hda_ext_core snd_hda_core memconsole_x86 memconsole zram snd_soc_nau8825 snd_soc_ssm4567 fuse nf_conntrack_ipv6 nf_defrag_ipv6 ip6table_filter ip6_tables iwlmvm iwl7000_mac80211 iwlwifi cfg80211 btusb btrtl btbcm btintel bluetooth joydev snd_seq_midi snd_seq_midi_event snd_rawmidi snd_seq snd_seq_device ppp_async ppp_generic slhc tun
[  578.054811] CPU: 1 PID: 0 Comm: swapper/1 Tainted: G        W      3.18.0 #2
[  578.054826] Hardware name: Hewlett-Packard Chell/Chell, BIOS Google_Chell.7894.0.0 02/04/2016
[  578.054844] task: ffff8802758ce300 ti: ffff880275994000 task.ti: ffff880275994000
[  578.054860] RIP: 0010:[<ffffffffc062f31a>]  [<ffffffffc062f31a>] uvc_queue_next_buffer+0x284a/0x3744 [uvcvideo]
[  578.054886] RSP: 0018:ffff88027ec83c68  EFLAGS: 00010046
[  578.054899] RAX: 0000000000000000 RBX: ffff880209288000 RCX: 0000000000000240
[  578.054914] RDX: 0000000000003335 RSI: 0000000000000002 RDI: 0000000000000240
[  578.054928] RBP: ffff88027ec83cd8 R08: ffff8802752e0680 R09: ffffffffa723703f
[  578.054943] R10: 0000000000000000 R11: 000000005ad97000 R12: 0000000000000000
[  578.054958] R13: ffff880257f2de30 R14: 0000000000000006 R15: ffff880257f2d800
[  578.054974] FS:  0000000000000000(0000) GS:ffff88027ec80000(0000) knlGS:0000000000000000
[  578.054991] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[  578.055003] CR2: 0000000000000000 CR3: 0000000027a1a000 CR4: 00000000003407e0
[  578.055018] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[  578.055032] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[  578.055046] Stack:
[  578.055052]  ffff88020c634800 0000332d024070f0 0000024000003329 0000800001000001
[  578.055075]  00000001810000c6 0000000000000241 000000002cc56ecc f2b35d3847abde40
[  578.055097]  0000000000000400 ffff880257f2d800 ffff880209288000 ffff88006f2a3c00
[  578.055118] Call Trace:
[  578.055126]  <IRQ>
[  578.055133]  [<ffffffffc062f747>] uvc_queue_next_buffer+0x2c77/0x3744 [uvcvideo]
[  578.055162]  [<ffffffffc062eb40>] uvc_queue_next_buffer+0x2070/0x3744 [uvcvideo]
[  578.055184]  [<ffffffffa720cc45>] __usb_hcd_giveback_urb+0xa8/0xe7
[  578.055201]  [<ffffffffa720cd98>] usb_hcd_giveback_urb+0x3d/0xcc
[  578.055219]  [<ffffffffa723cc72>] xhci_irq+0x1050/0x1255
[  578.055235]  [<ffffffffa723ce88>] xhci_msi_irq+0x11/0x13
[  578.055252]  [<ffffffffa6e7cb46>] handle_irq_event_percpu+0x51/0x1b4
[  578.055269]  [<ffffffffa6e7ccea>] handle_irq_event+0x41/0x61
[  578.055285]  [<ffffffffa6e2c250>] ? apic_eoi+0x18/0x1a
[  578.055301]  [<ffffffffa6e7f774>] handle_edge_irq+0xa1/0xba
[  578.055317]  [<ffffffffa6e044d6>] handle_irq+0x10f/0x117
[  578.055334]  [<ffffffffa742bf4e>] do_IRQ+0x4e/0xc4
[  578.055356]  [<ffffffffa742a4aa>] common_interrupt+0x6a/0x6a
[  578.055369]  <EOI>
[  578.055376]  [<ffffffffa72c0f78>] ? cpuidle_enter_state+0x81/0xea
[  578.055402]  [<ffffffffa72c0f74>] ? cpuidle_enter_state+0x7d/0xea
[  578.055418]  [<ffffffffa72c100d>] cpuidle_enter+0x17/0x19
[  578.055434]  [<ffffffffa6e7117a>] cpu_startup_entry+0x216/0x2e4
[  578.055452]  [<ffffffffa6e29aea>] start_secondary+0x16b/0x198
[  578.055465] Code: 06 00 00 4c 89 ef e8 d1 9f df e6 48 89 c6 41 8b 87 20 06 00 00 42 8b 14 33 8b 7d a4 66 8b 4d 9a 48 c1 e0 05 49 03 87 18 06 00 00 <89> 10 66 89 48 04 31 d2 66 89 78 18 4c 8b 4d b8 4c 8b 55 c0 4c 
[  578.055621] RIP  [<ffffffffc062f31a>] uvc_queue_next_buffer+0x284a/0x3744 [uvcvideo]
[  578.055642]  RSP <ffff88027ec83c68>
[  578.055651] CR2: 0000000000000000
[  578.055661] ---[ end trace 87a6b02d4c319165 ]---
[  578.077570] Kernel panic - not syncing: Fatal exception in interrupt
[  578.077628] Kernel Offset: 0x25e00000 from 0xffffffff81000000 (relocation range: 0xffffffff80000000-0xffffffffbfffffff)
log-040616-130033.tar.gz
2.9 MB Download

Comment 8 by gs0...@gmail.com, Apr 8 2016

rewind to UVC unpatched kernel and capture malfunction again.
(forgive me I did not clean log so don't confuse with ramoops and kcrash files)

userspace log:
(trusty)harrypan@localhost:~/github/librealsense/bin$ ./cpp-enumerate-devices 
RealSense error calling rs_create_context(api_version:4):
    UVCIOC_CTRL_QUERY:UVC_SET_CUR error 2, No such file or directory

kernel message log:
2016-04-08T10:39:57.667789+08:00 INFO kernel: [  246.689347] usb 2-3: new SuperSpeed USB device number 2 using xhci_hcd
2016-04-08T10:39:57.681710+08:00 INFO kernel: [  246.703672] usb 2-3: New USB device found, idVendor=8086, idProduct=0a80
2016-04-08T10:39:57.681754+08:00 INFO kernel: [  246.703696] usb 2-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
2016-04-08T10:39:57.681763+08:00 INFO kernel: [  246.703713] usb 2-3: Product: Intel RealSense 3D Camera R200
2016-04-08T10:39:57.681772+08:00 INFO kernel: [  246.703727] usb 2-3: Manufacturer: Intel Corp
2016-04-08T10:39:57.681779+08:00 INFO kernel: [  246.703738] usb 2-3: SerialNumber: SN_2101000066
2016-04-08T10:39:57.684740+08:00 INFO kernel: [  246.705850] uvcvideo: Unknown video format 49323159-0000-0010-8000-00aa00389b71
2016-04-08T10:39:57.684769+08:00 INFO kernel: [  246.705879] uvcvideo: Unknown video format 20493859-0000-0010-8000-00aa00389b71
2016-04-08T10:39:57.684774+08:00 INFO kernel: [  246.705906] uvcvideo: Found UVC 1.10 device Intel RealSense 3D Camera R200 (8086:0a80)
2016-04-08T10:39:57.686696+08:00 INFO kernel: [  246.708608] uvcvideo: Unknown video format 2036315a-0000-0010-8000-00aa00389b71
2016-04-08T10:39:57.686720+08:00 INFO kernel: [  246.708632] uvcvideo: Found UVC 1.10 device Intel RealSense 3D Camera R200 (8086:0a80)
2016-04-08T10:39:57.688741+08:00 INFO kernel: [  246.710735] uvcvideo: Unable to create debugfs 2-2 directory.
2016-04-08T10:39:57.690730+08:00 INFO kernel: [  246.711906] uvcvideo: Unknown video format 30315752-0000-0010-8000-00aa00389b71
2016-04-08T10:39:57.690754+08:00 INFO kernel: [  246.711931] uvcvideo: Found UVC 1.10 device Intel RealSense 3D Camera R200 (8086:0a80)
2016-04-08T10:39:57.691733+08:00 INFO kernel: [  246.713714] uvcvideo: Unable to create debugfs 2-2 directory.
...
2016-04-08T10:40:01.890842+08:00 ERR kernel: [  250.913975] uvcvideo: Failed to set UVC commit control : -32 (exp. 34).
2016-04-08T10:40:01.890886+08:00 ERR kernel: [  250.914011] uvcvideo 2-3:1.1: resume error -5
2016-04-08T10:40:01.892818+08:00 ERR kernel: [  250.916485] uvcvideo: Failed to set UVC commit control : -32 (exp. 34).
2016-04-08T10:40:01.892860+08:00 ERR kernel: [  250.916518] uvcvideo 2-3:1.3: resume error -5
2016-04-08T10:40:02.028836+08:00 ERR kernel: [  251.052130] uvcvideo: Failed to query (GET_LEN) UVC control 1 on unit 2: -32 (exp. 2).


malfunction.png
79.4 KB View Download
log-040816-104341.tar.gz
3.4 MB Download
Project Member

Comment 9 by sheriffbot@chromium.org, Apr 8 2016

Labels: -Needs-Feedback Needs-Review
Owner: yini...@chromium.org
Thank you for providing more feedback. Adding requester "yiningc@chromium.org" for another review and adding "Needs-Review" label for tracking.

For more details visit https://sites.google.com/a/chromium.org/dev/issue-tracking/autotriage - Your friendly Sheriffbot
Components: -Internals>Media OS>Kernel
Owner: ----
crash in chromeos kernel as per comment #6

Comment 11 by gs0...@gmail.com, Apr 14 2016

Marc and Benson, these series may not be some important from your ken, but still add you guys as reviewers.

It's about realsense camera enabling on 3.18 kernel w/ buggy uvcvideo driver.
Cc: bleung@chromium.org posciak@chromium.org
Components: -OS>Kernel OS>Kernel>Camera
Labels: Kernel-3.18
Thanks! We'll take a look at these. 

Comment 13 by gs0...@gmail.com, Apr 14 2016

sorry for typo:

some important -> so important
Labels: -Needs-Review
Project Member

Comment 15 by bugdroid1@chromium.org, May 4 2016

Labels: merge-merged-chromeos-3.18
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/a24d33c674cf6404ef90247e17be112531be6424

commit a24d33c674cf6404ef90247e17be112531be6424
Author: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Date: Thu Sep 30 13:17:54 2010

UPSTREAM: [media] uvcvideo: Move to video_ioctl2

Simplify ioctl handling by using video_ioctl2.

BUG= chromium:600944 
TEST=manually launch librealsense demonstration programs without
     malfunction nor crash

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
(cherry picked from commit d5e90b7a6cd1ce9512f8a2c9b1be70155300d2da)
Signed-off-by: Harry Pan <harry.pan@intel.com>

Change-Id: If669870a0ac607b0b5d7619cfa69040ced1ba31b
Reviewed-on: https://chromium-review.googlesource.com/337385
Commit-Ready: Harry Pan <harry.pan@intel.com>
Tested-by: Harry Pan <harry.pan@intel.com>
Reviewed-by: Benson Leung <bleung@chromium.org>

[modify] https://crrev.com/a24d33c674cf6404ef90247e17be112531be6424/drivers/media/usb/uvc/uvcvideo.h
[modify] https://crrev.com/a24d33c674cf6404ef90247e17be112531be6424/drivers/media/usb/uvc/uvc_v4l2.c
[modify] https://crrev.com/a24d33c674cf6404ef90247e17be112531be6424/drivers/media/usb/uvc/uvc_driver.c

Project Member

Comment 16 by bugdroid1@chromium.org, May 4 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/6306a465c58a68e2d491c461b8c255b6c08b2d5c

commit 6306a465c58a68e2d491c461b8c255b6c08b2d5c
Author: Takashi Iwai <tiwai@suse.de>
Date: Fri Oct 24 08:10:20 2014

UPSTREAM: [media] uvcvideo: Fix destruction order in uvc_delete()

We've got a bug report at disconnecting a Webcam, where the kernel
spews warnings like below:
  WARNING: CPU: 0 PID: 8385 at ../fs/sysfs/group.c:219 sysfs_remove_group+0x87/0x90()
  sysfs group c0b2350c not found for kobject 'event3'
  CPU: 0 PID: 8385 Comm: queue2:src Not tainted 3.16.2-1.gdcee397-default #1
  Hardware name: ASUSTeK Computer INC. A7N8X-E/A7N8X-E, BIOS ASUS A7N8X-E Deluxe ACPI BIOS Rev 1013  11/12/2004
    c08d0705 ddc75cbc c0718c5b ddc75ccc c024b654 c08c6d44 ddc75ce8 000020c1
    c08d0705 000000db c03d1ec7 c03d1ec7 00000009 00000000 c0b2350c d62c9064
    ddc75cd4 c024b6a3 00000009 ddc75ccc c08c6d44 ddc75ce8 ddc75cfc c03d1ec7
  Call Trace:
    [<c0205ba6>] try_stack_unwind+0x156/0x170
    [<c02046f3>] dump_trace+0x53/0x180
    [<c0205c06>] show_trace_log_lvl+0x46/0x50
    [<c0204871>] show_stack_log_lvl+0x51/0xe0
    [<c0205c67>] show_stack+0x27/0x50
    [<c0718c5b>] dump_stack+0x3e/0x4e
    [<c024b654>] warn_slowpath_common+0x84/0xa0
    [<c024b6a3>] warn_slowpath_fmt+0x33/0x40
    [<c03d1ec7>] sysfs_remove_group+0x87/0x90
    [<c05a2c54>] device_del+0x34/0x180
    [<c05e3989>] evdev_disconnect+0x19/0x50
    [<c05e06fa>] __input_unregister_device+0x9a/0x140
    [<c05e0845>] input_unregister_device+0x45/0x80
    [<f854b1d6>] uvc_delete+0x26/0x110 [uvcvideo]
    [<f84d66f8>] v4l2_device_release+0x98/0xc0 [videodev]
    [<c05a25bb>] device_release+0x2b/0x90
    [<c04ad8bf>] kobject_cleanup+0x6f/0x1a0
    [<f84d5453>] v4l2_release+0x43/0x70 [videodev]
    [<c0372f31>] __fput+0xb1/0x1b0
    [<c02650c1>] task_work_run+0x91/0xb0
    [<c024d845>] do_exit+0x265/0x910
    [<c024df64>] do_group_exit+0x34/0xa0
    [<c025a76f>] get_signal_to_deliver+0x17f/0x590
    [<c0201b6a>] do_signal+0x3a/0x960
    [<c02024f7>] do_notify_resume+0x67/0x90
    [<c071ebb5>] work_notifysig+0x30/0x3b
    [<b7739e60>] 0xb7739e5f
   ---[ end trace b1e56095a485b631 ]---

The cause is that uvc_status_cleanup() is called after usb_put_*() in
uvc_delete().  usb_put_*() removes the sysfs parent and eventually
removes the children recursively, so the later device_del() can't find
its sysfs.  The fix is simply rearrange the call orders in
uvc_delete() so that the child is removed before the parent.

Bugzilla: https://bugzilla.suse.com/show_bug.cgi?id=897736
Reported-and-tested-by: Martin Pluskal <mpluskal@suse.com>

BUG= chromium:600944 
TEST=manually launch librealsense demonstration programs without
     malfunction nor crash

Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
(cherry picked from commit 2228d80dd05a4fc5a410fde847677b8fb3eb23d7)
Signed-off-by: Harry Pan <harry.pan@intel.com>

Change-Id: I16d5fb77592fb32a586218edc1dd2ca10a11f75e
Reviewed-on: https://chromium-review.googlesource.com/337384
Commit-Ready: Harry Pan <harry.pan@intel.com>
Tested-by: Harry Pan <harry.pan@intel.com>
Reviewed-by: Benson Leung <bleung@chromium.org>

[modify] https://crrev.com/6306a465c58a68e2d491c461b8c255b6c08b2d5c/drivers/media/usb/uvc/uvc_driver.c

Comment 17 Deleted

Comment 18 Deleted

Comment 19 by gs0...@gmail.com, May 5 2016

Okay, I see one of these commits break the patchset due to aggressively backport newer commits, it looks potentially break other platform/combination, I might need to start over again:
git lop -3 188e5b32e02d drivers/media/usb/uvc/
188e5b32e02d 2015-09-22 Junghak Sung BACKPORT: [media] videobuf2: Restructure vb2_buffer
5d2cf82f4f14 2015-09-22 Junghak Sung BACKPORT: [media] videobuf2: Replace videobuf2-core with videobuf2-v4l2
db006d2f8aad 2015-10-06 Junghak Sung BACKPORT: [media] videobuf2: Change queue_setup argument

At the meantime, if chromium-os developer has experience to deal w/ such scenario, kindly enlighten me as well.

Comment 20 by gs0...@gmail.com, May 5 2016

I integrated again, in order to respect commit of 188e5b32e02d, revised two UPSTREAM to BACKPORT, and skipped one UPSTREAM commit.

Kindly review again, thanks.

Comment 21 by gs0...@gmail.com, May 11 2016

rebased again
Hi Harry,

I reviewed your patch series again. Looks ok, but looks like you ran git cherry-pick with "-sx" again, so there's some extra stuff in all of the commit messages that don't need to be there.

Thanks,
Benson
appreciate review, will clean up soon.
Looks good. Looks like the commit message changes didn't affect my +2. You're all LGTM'd to go for the whole series.
Project Member

Comment 25 by bugdroid1@chromium.org, May 16 2016

Labels: merge-merged-chromeos-3.18
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/ab1a1c5b13690b255241183b781af877a02e64b1

commit ab1a1c5b13690b255241183b781af877a02e64b1
Author: Aviv Greenberg <avivgr@gmail.com>
Date: Wed Feb 03 17:08:52 2016

UPSTREAM: [media] UVC: Add support for R200 depth camera

Add support for Intel R200 depth camera in uvc driver.
This includes adding new uvc GUIDs for the new pixel formats,
adding new V4L pixel format definition to user api headers,
and updating the uvc driver GUID-to-4cc tables with the new formats.

BUG= chromium:600944 
TEST=manually launch librealsense demonstration programs without
     malfunction nor crash

Tested-by: Greenberg, Aviv D <aviv.d.greenberg@intel.com>
Signed-off-by: Aviv Greenberg <aviv.d.greenberg@intel.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
(cherry picked from commit 5d8d8db851ef81337e7026b32a9d5a9cfb2271d5)
Signed-off-by: Harry Pan <harry.pan@intel.com>

Change-Id: I88395edee6ce8835900225448d0409fa0078ffd3
Reviewed-on: https://chromium-review.googlesource.com/337366
Commit-Ready: Harry Pan <harry.pan@intel.com>
Tested-by: Harry Pan <harry.pan@intel.com>
Reviewed-by: Benson Leung <bleung@chromium.org>

[modify] https://crrev.com/ab1a1c5b13690b255241183b781af877a02e64b1/drivers/media/usb/uvc/uvcvideo.h
[modify] https://crrev.com/ab1a1c5b13690b255241183b781af877a02e64b1/include/uapi/linux/videodev2.h
[modify] https://crrev.com/ab1a1c5b13690b255241183b781af877a02e64b1/drivers/media/usb/uvc/uvc_driver.c

Project Member

Comment 26 by bugdroid1@chromium.org, May 16 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/5edc92cffab7829660f5f3c2b0cf597f084ae4d1

commit 5edc92cffab7829660f5f3c2b0cf597f084ae4d1
Author: Aviv Greenberg <aviv.d.greenberg@intel.com>
Date: Wed Dec 03 11:14:09 2014

UPSTREAM: [media] v4l: Add packed Bayer raw10 pixel formats

These formats are just like 10-bit raw bayer formats that exist already, but
the pixels are not padded to byte boundaries. Instead, the eight high order
bits of four consecutive pixels are stored in four bytes, followed by a byte
of two low order bits of each of the four pixels.

BUG= chromium:600944 
TEST=manually launch librealsense demonstration programs without
     malfunction nor crash

Signed-off-by: Aviv Greenberg <aviv.d.greenberg@intel.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
(cherry picked from commit 4353e36ee84d936859eb6d65ecd9d3076edd11bc)
Signed-off-by: Harry Pan <harry.pan@intel.com>

Change-Id: I9846d5858d269a8cbed75d17ae6cca989553f3b6
Reviewed-on: https://chromium-review.googlesource.com/339299
Commit-Ready: Harry Pan <harry.pan@intel.com>
Tested-by: Harry Pan <harry.pan@intel.com>
Reviewed-by: Benson Leung <bleung@chromium.org>

[add] https://crrev.com/5edc92cffab7829660f5f3c2b0cf597f084ae4d1/Documentation/DocBook/media/v4l/pixfmt-srggb10p.xml
[modify] https://crrev.com/5edc92cffab7829660f5f3c2b0cf597f084ae4d1/Documentation/DocBook/media/v4l/pixfmt.xml
[modify] https://crrev.com/5edc92cffab7829660f5f3c2b0cf597f084ae4d1/include/uapi/linux/videodev2.h

Project Member

Comment 27 by bugdroid1@chromium.org, May 16 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/565aa30da166b7aa3bc8f828fb47aa5ef708b84f

commit 565aa30da166b7aa3bc8f828fb47aa5ef708b84f
Author: Sakari Ailus <sakari.ailus@iki.fi>
Date: Sun Dec 07 23:17:49 2014

UPSTREAM: [media] DocBook: v4l: Rearrange raw bayer format definitions, remove bad comment

Rearrange 12-bit raw bayer format definitions after 10-bit ones. Also remove
the comment related to 16-bit bayer formats, it was simply wrong.

BUG= chromium:600944 
TEST=manually launch librealsense demonstration programs without
     malfunction nor crash

Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
(cherry picked from commit cbb77bc281d697764dbb035157b643a8cbc9df30)
Signed-off-by: Harry Pan <harry.pan@intel.com>

Change-Id: I3a8d1cc1ea217b16dc3b9c8112ef4b69abab888c
Reviewed-on: https://chromium-review.googlesource.com/339298
Commit-Ready: Harry Pan <harry.pan@intel.com>
Tested-by: Harry Pan <harry.pan@intel.com>
Reviewed-by: Benson Leung <bleung@chromium.org>

[modify] https://crrev.com/565aa30da166b7aa3bc8f828fb47aa5ef708b84f/include/uapi/linux/videodev2.h

Project Member

Comment 28 by bugdroid1@chromium.org, May 16 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/c0979a5d8475c228be4c63f61cdbd1f38944581c

commit c0979a5d8475c228be4c63f61cdbd1f38944581c
Author: Aviv Greenberg <aviv.d.greenberg@intel.com>
Date: Tue Sep 02 06:16:28 2014

UPSTREAM: [media] uvcvideo: Remove extra commit on resume()

The UVC spec is a bit vague wrt devices using bulk endpoints,
specifically, how to signal to a device to start streaming.

For devices using isoc endpoints, the sequence for start streaming is:
1) The host sends PROBE_CONTROL(SET_CUR) PROBE_CONTROL(GET_CUR)
2) Host selects desired config and calls COMMIT_CONTROL(SET_CUR)
3) Host selects an alt interface other then zero - e.g SELECT_ALTERNATE_INTERFACE(1)
4) The device starts streaming

However for devices using bulk endpoints, there must be *no* alt interface
other than setting zero. From the UVC spec:
"A VideoStreaming interface containing a bulk endpoint for streaming shall
support only alternate setting zero. Additional alternate settings containing
bulk endpoints are not permitted in a device that is compliant with the Video
Class specification."

So for devices using bulk endpoints, step #3 above is irrelevant, and thus
cannot be used as an indication for the device to start streaming.
So in practice, such devices start streaming immediately after a
COMMIT_CONTROL(SET_CUR).

In the uvc resume() handler, an unsolicited commit is sent, which causes
devices using bulk endpoints to start streaming unintentionally.

This patch modifies resume() handler to send a commit only if streaming
needs to be reestablished, i.e if the device was actually streaming before is
was suspended.

BUG= chromium:600944 
TEST=manually launch librealsense demonstration programs without
     malfunction nor crash

Signed-off-by: Aviv Greenberg <aviv.d.greenberg@intel.com>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
(cherry picked from commit 9fae30acdeefb8955c9f90d4d18a3d1dc599a1ff)
Signed-off-by: Harry Pan <harry.pan@intel.com>

Change-Id: I6bd63e5293b4cdc2824b4891d682900e6507479d
Reviewed-on: https://chromium-review.googlesource.com/337466
Commit-Ready: Harry Pan <harry.pan@intel.com>
Tested-by: Harry Pan <harry.pan@intel.com>
Reviewed-by: Benson Leung <bleung@chromium.org>

[modify] https://crrev.com/c0979a5d8475c228be4c63f61cdbd1f38944581c/drivers/media/usb/uvc/uvc_video.c

Project Member

Comment 29 by bugdroid1@chromium.org, May 16 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/ea138225648b2f13fcbb9652d20a685e5e1f3af7

commit ea138225648b2f13fcbb9652d20a685e5e1f3af7
Author: William Manley <will@williammanley.net>
Date: Mon Dec 08 18:57:58 2014

UPSTREAM: [media] uvcvideo: Add GUID for BGR 8:8:8

The Magewell XI100DUSB-HDMI[1] video capture device reports the pixel
format "e436eb7d-524f-11ce-9f53-0020af0ba770".  This is its GUID for
BGR 8:8:8.

The UVC 1.5 spec[2] only defines GUIDs for YUY2, NV12, M420 and I420.
This seems to be an extension documented in the Microsoft Windows Media
Format SDK[3] - or at least the Media Format SDK was the only hit that
Google gave when searching for the GUID.  This Media Format SDK defines
this GUID as corresponding to `MEDIASUBTYPE_RGB24`.  Note though, the
XI100DUSB outputs BGR e.g. byte-reversed.  I don't know if its the
capture device in error or Microsoft mean BGR when they say RGB.

[1]: http://www.magewell.com/hardware/dongles/xi100dusb-hdmi/xi100dusb-hdmi_features.html?lang=en
[2]: http://www.usb.org/developers/docs/devclass_docs/USB_Video_Class_1_5.zip
[3]: http://msdn.microsoft.com/en-gb/library/windows/desktop/dd757532(v=vs.85).aspx

BUG= chromium:600944 
TEST=manually launch librealsense demonstration programs without
     malfunction nor crash

Signed-off-by: William Manley <will@williammanley.net>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
(cherry picked from commit 1b8dc32286a1a4fb73cfc7793ef103f3993a6478)
Signed-off-by: Harry Pan <harry.pan@intel.com>

Change-Id: If3bb3a00476adce0d4051f9f89e3f0aee85680f1
Reviewed-on: https://chromium-review.googlesource.com/337465
Commit-Ready: Harry Pan <harry.pan@intel.com>
Tested-by: Harry Pan <harry.pan@intel.com>
Reviewed-by: Benson Leung <bleung@chromium.org>

[modify] https://crrev.com/ea138225648b2f13fcbb9652d20a685e5e1f3af7/drivers/media/usb/uvc/uvcvideo.h
[modify] https://crrev.com/ea138225648b2f13fcbb9652d20a685e5e1f3af7/drivers/media/usb/uvc/uvc_driver.c

Project Member

Comment 30 by bugdroid1@chromium.org, May 16 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/be7c60eab3736f6e4f889ef8a06f7f5d67859e8e

commit be7c60eab3736f6e4f889ef8a06f7f5d67859e8e
Author: Lad, Prabhakar <prabhakar.csengg@gmail.com>
Date: Wed Nov 26 23:25:44 2014

UPSTREAM: [media] media: usb: uvc: use vb2_ops_wait_prepare/finish helper

This patch drops driver specific wait_prepare() and wait_finish()
callbacks from vb2_ops and instead uses the the helpers
vb2_ops_wait_prepare/finish() provided by the vb2 core, the lock member
of the queue needs to be initalized to a mutex so that vb2 helpers
vb2_ops_wait_prepare/finish() can make use of it.

BUG= chromium:600944 
TEST=manually launch librealsense demonstration programs without
     malfunction nor crash

Signed-off-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
(cherry picked from commit 5fb3f55504d5d9b6ca97131091707afd351fe1dc)
Signed-off-by: Harry Pan <harry.pan@intel.com>

Change-Id: If911bee68dadaf5f10ca94f46084cd64f2868e60
Reviewed-on: https://chromium-review.googlesource.com/337464
Commit-Ready: Harry Pan <harry.pan@intel.com>
Tested-by: Harry Pan <harry.pan@intel.com>
Reviewed-by: Benson Leung <bleung@chromium.org>

[modify] https://crrev.com/be7c60eab3736f6e4f889ef8a06f7f5d67859e8e/drivers/media/usb/uvc/uvc_queue.c

Project Member

Comment 31 by bugdroid1@chromium.org, May 16 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/6aec754b02a297bf93931d2ac4203148d779cbfa

commit 6aec754b02a297bf93931d2ac4203148d779cbfa
Author: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Date: Tue Oct 21 19:37:55 2014

BACKPORT: [media] uvcvideo: Return all buffers to vb2 at stream stop and start failure

videobuf2 requires drivers to give back ownership of all queue buffers
in the stop_streaming operation, as well as in the start_streaming
operation in case of failure. Mark all queued buffers as done in the
error or queued state.

BUG= chromium:600944 
TEST=manually launch librealsense demonstration programs without
     malfunction nor crash

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
(cherry picked from commit ef33d901db3026643f1c415562d633dfc6c5e9bb)
Signed-off-by: Harry Pan <harry.pan@intel.com>

Conflicts:
	drivers/media/usb/uvc/uvc_queue.c

Backdrop:
It conflicts w/ parent commit of 188e5b32e02d that aggressively chose
newer commit from upstream, recursive merge is not working for this
cherry-pick case, its sementatics is trivial yet breaks the build,
manually resolve it.

Change-Id: I32b3516439fa23cb85779bda519bf0e1a9835e08
Reviewed-on: https://chromium-review.googlesource.com/337463
Commit-Ready: Harry Pan <harry.pan@intel.com>
Tested-by: Harry Pan <harry.pan@intel.com>
Reviewed-by: Benson Leung <bleung@chromium.org>

[modify] https://crrev.com/6aec754b02a297bf93931d2ac4203148d779cbfa/drivers/media/usb/uvc/uvc_queue.c

Project Member

Comment 32 by bugdroid1@chromium.org, May 16 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/557343e78f6c5e82dc77cf085f6907a70a68302e

commit 557343e78f6c5e82dc77cf085f6907a70a68302e
Author: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Date: Tue Oct 21 19:19:04 2014

UPSTREAM: [media] uvcvideo: Rename and split uvc_queue_enable to uvc_queue_stream(on|off)

This brings the function name in line with the V4L2 API terminology and
allows removing the duplicate queue type check.

BUG= chromium:600944 
TEST=manually launch librealsense demonstration programs without
     malfunction nor crash

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
(cherry picked from commit 0da4ab984b1753b160b5fa840ae98b87228ac3dc)
Signed-off-by: Harry Pan <harry.pan@intel.com>

Change-Id: I465297dde65a5f3c92d82d02cde0fb9c4d781583
Reviewed-on: https://chromium-review.googlesource.com/337462
Commit-Ready: Harry Pan <harry.pan@intel.com>
Tested-by: Harry Pan <harry.pan@intel.com>
Reviewed-by: Benson Leung <bleung@chromium.org>

[modify] https://crrev.com/557343e78f6c5e82dc77cf085f6907a70a68302e/drivers/media/usb/uvc/uvcvideo.h
[modify] https://crrev.com/557343e78f6c5e82dc77cf085f6907a70a68302e/drivers/media/usb/uvc/uvc_queue.c
[modify] https://crrev.com/557343e78f6c5e82dc77cf085f6907a70a68302e/drivers/media/usb/uvc/uvc_v4l2.c
[modify] https://crrev.com/557343e78f6c5e82dc77cf085f6907a70a68302e/drivers/media/usb/uvc/uvc_driver.c

Project Member

Comment 33 by bugdroid1@chromium.org, May 16 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/bf8074fbf29efb5e2d557892048b3115f3dd84cf

commit bf8074fbf29efb5e2d557892048b3115f3dd84cf
Author: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Date: Tue Oct 21 19:02:00 2014

UPSTREAM: [media] uvcvideo: Rename uvc_alloc_buffers to uvc_request_buffers

This brings the function name in line with the V4L2 API terminology.

BUG= chromium:600944 
TEST=manually launch librealsense demonstration programs without
     malfunction nor crash

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
(cherry picked from commit 1b7f9c989ee7684dc70f0a75a037ecb1d437d3c2)
Signed-off-by: Harry Pan <harry.pan@intel.com>

Change-Id: Id790d24cd55c6d0b0e1eee8f9f4311fbded870b7
Reviewed-on: https://chromium-review.googlesource.com/337461
Commit-Ready: Harry Pan <harry.pan@intel.com>
Tested-by: Harry Pan <harry.pan@intel.com>
Reviewed-by: Benson Leung <bleung@chromium.org>

[modify] https://crrev.com/bf8074fbf29efb5e2d557892048b3115f3dd84cf/drivers/media/usb/uvc/uvcvideo.h
[modify] https://crrev.com/bf8074fbf29efb5e2d557892048b3115f3dd84cf/drivers/media/usb/uvc/uvc_queue.c
[modify] https://crrev.com/bf8074fbf29efb5e2d557892048b3115f3dd84cf/drivers/media/usb/uvc/uvc_v4l2.c

Project Member

Comment 34 by bugdroid1@chromium.org, May 16 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/648b7ba7c187b71ee7c8e9871f44b9b0e665d24a

commit 648b7ba7c187b71ee7c8e9871f44b9b0e665d24a
Author: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Date: Tue Oct 21 19:07:15 2014

UPSTREAM: [media] uvcvideo: Don't stop the stream twice at file handle release

When releasing the file handle the driver calls the vb2_queue_release
which turns the stream off. There's thus no need to turn the stream off
explicitly beforehand.

BUG= chromium:600944 
TEST=manually launch librealsense demonstration programs without
     malfunction nor crash

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
(cherry picked from commit 3f02de275e5c4374ffeba554c7b9fa85ea13ecc5)
Signed-off-by: Harry Pan <harry.pan@intel.com>

Change-Id: I86829b22b92a07a9c981f1bfc9f5bb604c4cc666
Reviewed-on: https://chromium-review.googlesource.com/337460
Commit-Ready: Harry Pan <harry.pan@intel.com>
Tested-by: Harry Pan <harry.pan@intel.com>
Reviewed-by: Benson Leung <bleung@chromium.org>

[modify] https://crrev.com/648b7ba7c187b71ee7c8e9871f44b9b0e665d24a/drivers/media/usb/uvc/uvcvideo.h
[modify] https://crrev.com/648b7ba7c187b71ee7c8e9871f44b9b0e665d24a/drivers/media/usb/uvc/uvc_queue.c
[modify] https://crrev.com/648b7ba7c187b71ee7c8e9871f44b9b0e665d24a/drivers/media/usb/uvc/uvc_v4l2.c

Project Member

Comment 35 by bugdroid1@chromium.org, May 16 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/b3bc5114310d413ef64f6767940655a8e25ae32d

commit b3bc5114310d413ef64f6767940655a8e25ae32d
Author: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Date: Tue Oct 21 16:03:08 2014

UPSTREAM: [media] uvcvideo: Implement vb2 queue start and stop stream operations

To work propertly the videobuf2 core code needs to be in charge of
stream start/stop control. Implement the start_streaming and
stop_streaming vb2 operations and move video enable/disable code to
them.

BUG= chromium:600944 
TEST=manually launch librealsense demonstration programs without
     malfunction nor crash

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
(cherry picked from commit a11a03e50b73234444f7d439fb8ee6eaec3cffd1)
Signed-off-by: Harry Pan <harry.pan@intel.com>

Change-Id: Ib46e12f77e23ba456ba43fcb9a068f5a6bca039b
Reviewed-on: https://chromium-review.googlesource.com/337389
Commit-Ready: Harry Pan <harry.pan@intel.com>
Tested-by: Harry Pan <harry.pan@intel.com>
Reviewed-by: Benson Leung <bleung@chromium.org>

[modify] https://crrev.com/b3bc5114310d413ef64f6767940655a8e25ae32d/drivers/media/usb/uvc/uvc_queue.c
[modify] https://crrev.com/b3bc5114310d413ef64f6767940655a8e25ae32d/drivers/media/usb/uvc/uvc_v4l2.c

Project Member

Comment 36 by bugdroid1@chromium.org, May 16 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/b83cd3b933997b09014a1d3c851a5556b1de1051

commit b83cd3b933997b09014a1d3c851a5556b1de1051
Author: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Date: Tue Oct 21 15:58:35 2014

BACKPORT: [media] uvcvideo: Add function to convert from queue to stream

Factorize the container_of() call into an inline function and update
callers.

BUG= chromium:600944 
TEST=manually launch librealsense demonstration programs without
     malfunction nor crash

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
(cherry picked from commit bc75d5a0097b4100b4a4e06db62b2afb80d96393)
Signed-off-by: Harry Pan <harry.pan@intel.com>

(Conflict in drivers/media/usb/uvc/uvc_queue.c due to parent commit
 leading out of order)

Change-Id: I5eb6c3b328112eed8537fd31a79804974e353b7e
Reviewed-on: https://chromium-review.googlesource.com/337388
Commit-Ready: Harry Pan <harry.pan@intel.com>
Tested-by: Harry Pan <harry.pan@intel.com>
Reviewed-by: Benson Leung <bleung@chromium.org>

[modify] https://crrev.com/b83cd3b933997b09014a1d3c851a5556b1de1051/drivers/media/usb/uvc/uvc_queue.c

Project Member

Comment 37 by bugdroid1@chromium.org, May 16 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/47daa89792920e6b675c9915583d5679df01f420

commit 47daa89792920e6b675c9915583d5679df01f420
Author: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Date: Mon Oct 13 13:11:35 2014

UPSTREAM: [media] uvcvideo: Separate video and queue enable/disable operations

In order to make use of the vb2 queue start/stop_streaming operations
the video and queue enable/disable operations need to be split, as the
vb2 queue will need to enable and disable video instead of the other way
around.

Also move buffer queue disable outside of uvc_video_resume() to remove
all queue disable operations out of uvc_video.c.

BUG= chromium:600944 
TEST=manually launch librealsense demonstration programs without
     malfunction nor crash

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
(cherry picked from commit b83bba24a29c44b696b5977e3874bc07b13dc3c0)
Signed-off-by: Harry Pan <harry.pan@intel.com>

Change-Id: Idd2550be675882503942a4ab35f689dea0e88b29
Reviewed-on: https://chromium-review.googlesource.com/337387
Commit-Ready: Harry Pan <harry.pan@intel.com>
Tested-by: Harry Pan <harry.pan@intel.com>
Reviewed-by: Benson Leung <bleung@chromium.org>

[modify] https://crrev.com/47daa89792920e6b675c9915583d5679df01f420/drivers/media/usb/uvc/uvc_video.c
[modify] https://crrev.com/47daa89792920e6b675c9915583d5679df01f420/drivers/media/usb/uvc/uvc_v4l2.c
[modify] https://crrev.com/47daa89792920e6b675c9915583d5679df01f420/drivers/media/usb/uvc/uvc_driver.c

Blocking: 369849
Cc: robert.b...@intel.com dongseon...@intel.com daniel.a...@intel.com harry....@intel.com ningxin...@intel.com anssi.ko...@intel.com valentin...@intel.com

Comment 40 Deleted

Comment 41 by gs0...@gmail.com, May 23 2016

Please proceed fixed and verified, I've evaluated chromium-os w/ crouton on SKL, BDW, BSW chips, all good. -Harry
Owner: bleung@chromium.org
Status: Verified (was: Unconfirmed)
Blocking: 616098

Sign in to add a comment