summaryrefslogtreecommitdiffstats
path: root/drivers/media/video/au0828/au0828.h
diff options
context:
space:
mode:
authorDevin Heitmueller <dheitmueller@kernellabs.com>2012-08-06 22:46:53 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2012-08-09 20:31:30 -0300
commit43f2cccfc81c0af719a425ea816ce8003bb09748 (patch)
tree6d86a5eb76e6117ae98da89f1de9f8a773906e30 /drivers/media/video/au0828/au0828.h
parentb0c4878ebe3ad9706ea2e452331550fd6d171977 (diff)
downloadblackbird-op-linux-43f2cccfc81c0af719a425ea816ce8003bb09748.tar.gz
blackbird-op-linux-43f2cccfc81c0af719a425ea816ce8003bb09748.zip
[media] au8522: properly recover from the au8522 delivering misaligned TS streams
There is an apparent bug in the au8522 TS clocking which can result in it delivering a TS payload to the au0828 that is shifted by some number of bits. For example, the device will announce a packet containing "FA 38 FF F8" which if you shift left one bit is "1F 47 1F FF F0..." This presents itself as no TS stream being delivered from the kernel to userland, since the kernel demux will drop every packet. In the event that this condition occurs, restart the DVB stream. Also, this patch includes a couple of lines of cleanup to not change the FIFO configuration while the FIFO is running (which can screw up the state machine), and dequeue the buffers before turning off the FIFO. This puts the logic in sync with the Windows driver. Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/au0828/au0828.h')
-rw-r--r--drivers/media/video/au0828/au0828.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/media/video/au0828/au0828.h b/drivers/media/video/au0828/au0828.h
index 9cde35321824..61cd63e2bc63 100644
--- a/drivers/media/video/au0828/au0828.h
+++ b/drivers/media/video/au0828/au0828.h
@@ -197,6 +197,7 @@ struct au0828_dev {
/* Digital */
struct au0828_dvb dvb;
+ struct work_struct restart_streaming;
/* Analog */
struct v4l2_device v4l2_dev;
OpenPOWER on IntegriCloud