]> nv-tegra.nvidia Code Review - linux-4.9.git/commit
usbtuner: fix dvb functionality after v4l2 operation
authorMagdalena Grodzinska <mgrodzinska@nvidia.com>
Sat, 25 Aug 2018 01:19:10 +0000 (18:19 -0700)
committermobile promotions <svcmobile_promotions@nvidia.com>
Wed, 29 Aug 2018 06:04:56 +0000 (23:04 -0700)
commitb19a0dba6742e0b133c3cc17c2a526dde6182282
tree33bd336bdc96bf49128cc806c609ea9dee5d28f9
parent811d94cea8be2f61c6ad3c45a14acc2b2f32b151
usbtuner: fix dvb functionality after v4l2 operation

Cameraserver calls v4l2_open to check the device type as
soon as a v4l2 device is registered, and then v4l2_close
if the device isn't a camera.

For cx231xx tuners, the device needs to stay in DIGITAL_MODE
for dvb_init, however, in v4l2_open the mode is switched to
ANALOG_MODE, which fails dvb_init. This patch fails v4l2_open
if it's called before dvb_init is done for cx231xx tuners.

For em28xx tuners, v4l2_close resets the usb interface alternate
to 0, which is supposed to be 1 for dvb function to work after
dvb_init. This patch skipped the usb interface reset after dvb_init
for em28xx tuners.

This change is applied only to cx231xx tuner.

Bug 1861283
Bug 2190055

Change-Id: I91eb7ae0e171529ed7c0cf0f07404afb33b32d53
Signed-off-by: Jean Huang <jeanh@nvidia.com>
Reviewed-on: http://git-master/r/1313562
(cherry picked from commit 84c023ba8c6ecada48dceeb86c3eaf7ea7806f63)
Signed-off-by: Magdalena Grodzinska <mgrodzinska@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1806532
Reviewed-by: Aly Hirani <ahirani@nvidia.com>
Reviewed-by: Patrick Horng <phorng@nvidia.com>
GVS: Gerrit_Virtual_Submit
Reviewed-by: Vinayak Pane <vpane@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
drivers/media/usb/cx231xx/cx231xx-video.c