linux/drivers/media
Mauro Carvalho Chehab bb31d2381c [media] dvb_frontend: Don't let drivers to trash data at cache
GET_FRONTEND and G_PROPERTY can be called anytime, even when the
tuner/demod is not fully locked. However, several parameters
returned by those calls are available only after the demod get
VITERBI lock.

While several drivers do the right thing by checking the status before
returning the parameter, some drivers simply blindly update the
DTV properties cache without checking if the registers at the
hardware contain valid values.

Due to that, programs that call G_PROPERTY (or GET_FRONTEND)
before having a tuner lock may interfere at the zigzag logic,
as the DVB kthread calls the set_frontend() callback several
times, to fine tune the frequency and to identify if the signal
is inverted or not.

While the drivers should be fixed to report the right status,
we should prevent that such bugs would actually interfere at the
device operation.

So, let's use a separate var for userspace calls to get frontend.

As we copy the content of the cache, this should not cause any
troubles.

Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2016-02-04 16:27:41 -02:00
..
common [media] siano: remove get_frontend stub 2016-02-04 16:27:17 -02:00
dvb-core [media] dvb_frontend: Don't let drivers to trash data at cache 2016-02-04 16:27:41 -02:00
dvb-frontends [media] dvb_frontend: pass the props cache to get_frontend() as arg 2016-02-04 16:27:30 -02:00
firewire [media] dvb: modify core to implement interfaces/entities at MC new gen 2016-01-11 12:18:52 -02:00
i2c [media] msp3400: use IS_ENABLED check instead of #if 2016-02-02 14:28:56 -02:00
mmc [media] siano: register media controller earlier 2015-02-26 09:10:39 -03:00
pci [media] dvb_frontend: pass the props cache to get_frontend() as arg 2016-02-04 16:27:30 -02:00
platform [media] media: platform: exynos4-is: media-dev: Add missing of_node_put 2016-02-01 11:11:52 -02:00
radio [media] radio-si476x: add return value check to avoid dead code 2016-02-01 08:01:15 -02:00
rc [media] rc/nuvoton_cir: fix locking issue when calling nvt_disable_cir 2016-02-02 14:28:55 -02:00
tuners [media] xc2028: unlock on error in xc2028_set_config() 2016-02-04 09:30:31 -02:00
usb [media] dvb_frontend: pass the props cache to get_frontend() as arg 2016-02-04 16:27:30 -02:00
v4l2-core [media] v4l: remove MEDIA_TUNER dependency for VIDEO_TUNER 2016-02-01 13:16:33 -02:00
Kconfig [media] Kconfig: Re-enable Media controller support for DVB 2016-01-11 12:18:40 -02:00
Makefile [media] bq/c-qcam, w9966, pms: move to staging in preparation for removal 2014-12-16 23:21:44 -02:00
media-device.c Revert "[media] Postpone the addition of MEDIA_IOC_G_TOPOLOGY" 2016-01-25 07:29:43 -02:00
media-devnode.c [media] media: Fix media_open() to clear filp->private_data in error leg 2016-02-01 13:21:33 -02:00
media-entity.c [media] media: Media Controller fix to not let stream_count go negative 2016-02-01 13:32:50 -02:00