summaryrefslogtreecommitdiff
path: root/linux/drivers/media
diff options
context:
space:
mode:
Diffstat (limited to 'linux/drivers/media')
-rw-r--r--linux/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/linux/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c b/linux/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c
index f4911fa6d..fadb850e0 100644
--- a/linux/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c
+++ b/linux/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c
@@ -109,8 +109,9 @@ struct ttusb {
int insync;
- u16 cc; /* MuxCounter - will increment on EVERY MUX PACKET */
+ int cc; /* MuxCounter - will increment on EVERY MUX PACKET */
/* (including stuffing. yes. really.) */
+
u8 last_result[32];
@@ -576,7 +577,7 @@ static void ttusb_process_muxpack(struct ttusb *ttusb, const u8 * muxpack,
cc = (muxpack[len - 4] << 8) | muxpack[len - 3];
cc &= 0x7FFF;
- if (cc != ttusb->cc)
+ if ((cc != ttusb->cc) && (ttusb->cc != -1))
printk("%s: cc discontinuity (%d frames missing)\n",
__FUNCTION__, (cc - ttusb->cc) & 0x7FFF);
ttusb->cc = (cc + 1) & 0x7FFF;
@@ -859,6 +860,7 @@ static int ttusb_start_iso_xfer(struct ttusb *ttusb)
return 0;
}
+ ttusb->cc = -1;
ttusb->insync = 0;
ttusb->mux_state = 0;