linux/drivers/media/dvb-core
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
..
demux.h [media] demux.h: Some documentation fixups for the header 2015-11-17 06:39:00 -02:00
dmxdev.c [media] dvb: modify core to implement interfaces/entities at MC new gen 2016-01-11 12:18:52 -02:00
dmxdev.h [media] remove include/linux/dvb/dmx.h 2012-10-19 07:29:17 -03:00
dvb_ca_en50221.c [media] dvb: modify core to implement interfaces/entities at MC new gen 2016-01-11 12:18:52 -02:00
dvb_ca_en50221.h [media] dvb_ca_en50221.h: Make checkpatch.pl happy 2015-10-06 18:40:01 -03:00
dvb_demux.c [media] dvb: get rid of enum dmx_success 2015-10-06 19:53:02 -03:00
dvb_demux.h [media] demux.h: Remove duplicated enum 2013-04-08 06:53:15 -03:00
dvb_filter.c
dvb_filter.h
dvb_frontend.c [media] dvb_frontend: Don't let drivers to trash data at cache 2016-02-04 16:27:41 -02:00
dvb_frontend.h [media] dvb_frontend: pass the props cache to get_frontend() as arg 2016-02-04 16:27:30 -02:00
dvb_math.c
dvb_math.h [media] DocBook: add dvb_math.h to documentation 2015-08-22 09:05:40 -03:00
dvb_net.c [media] dvb: modify core to implement interfaces/entities at MC new gen 2016-01-11 12:18:52 -02:00
dvb_net.h [media] dvb: push down ioctl lock in dvb_usercopy 2012-12-27 15:44:21 -02:00
dvb_ringbuffer.c [media] ngene: properly handle __user ptr 2014-09-08 10:00:52 -03:00
dvb_ringbuffer.h [media] DocBook: add dvb_ringbuffer.h to documentation 2015-08-22 09:05:45 -03:00
dvb-usb-ids.h [media] dvb-usb-dvbsky: add new product id for TT CT2-4650 CI 2016-02-01 09:06:10 -02:00
dvbdev.c [media] dvbdev: the space is required after ',' 2016-02-01 10:25:59 -02:00
dvbdev.h [media] mxl111sf: Add a tuner entity 2016-01-11 12:19:26 -02:00
Kconfig
Makefile