diff options
author | Jemma Denson <jdenson@gmail.com> | 2015-05-30 15:10:06 -0300 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@osg.samsung.com> | 2015-06-09 20:57:56 -0300 |
commit | d3525b632a0b5e113fb78b7db84598e082cf903b (patch) | |
tree | 7cc11afb150470043ff303ff21e424d513470507 /drivers/media/common/b2c2/flexcop-fe-tuner.c | |
parent | 25e057fdde3b33c0d18605ed27b59336a3441925 (diff) | |
download | lwn-d3525b632a0b5e113fb78b7db84598e082cf903b.tar.gz lwn-d3525b632a0b5e113fb78b7db84598e082cf903b.zip |
[media] b2c2: Add option to skip the first 6 pid filters
The flexcop bridge chip has two banks of hardware pid filters -
an initial 6, and on some chip revisions an additional bank of 32.
A bug is present on the initial 6 - when changing transponders
one of two PAT packets from the old transponder would be included
in the initial packets from the new transponder. This usually
transpired with userspace programs complaining about services
missing, because they are seeing a PAT that they would not be
expecting. Running in full TS mode does not exhibit this problem,
neither does using just the additional 32.
This patch adds in an option to not use the inital 6 and solely use
just the additional 32, and enables this option for the SkystarS2
card. Other cards can be added as required if they also have
this bug.
Signed-off-by: Jemma Denson <jdenson@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Diffstat (limited to 'drivers/media/common/b2c2/flexcop-fe-tuner.c')
-rw-r--r-- | drivers/media/common/b2c2/flexcop-fe-tuner.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/media/common/b2c2/flexcop-fe-tuner.c b/drivers/media/common/b2c2/flexcop-fe-tuner.c index b4e545956c2d..9c59f4306883 100644 --- a/drivers/media/common/b2c2/flexcop-fe-tuner.c +++ b/drivers/media/common/b2c2/flexcop-fe-tuner.c @@ -652,6 +652,9 @@ static int skystarS2_rev33_attach(struct flexcop_device *fc, } info("ISL6421 successfully attached."); + if (fc->has_32_hw_pid_filter) + fc->skip_6_hw_pid_filter = 1; + return 1; } #else |