aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Williams <stephen.gw@gmail.com>2006-01-09 15:25:21 -0200
committerMauro Carvalho Chehab <mchehab@brturbo.com.br>2006-01-09 15:25:21 -0200
commit2c3f11b20fc6c41b4d3f64f301f525e35f18b6bc (patch)
tree5058d609de34137935e7481bf04b80b08d11e5ce
parentd21838dd7d098e102ced2fafed62dcb133c4d71c (diff)
downloadlinux-2c3f11b20fc6c41b4d3f64f301f525e35f18b6bc.tar.gz
V4L/DVB (3129): correct FE_READ_UNCORRECTED_BLOCKS
- Make FE_READ_UNCORRECTED_BLOCKS reset the count after each call, thus returning a momentary value like all other demods do, instead of an absolute, ever increasing count. Signed-off-by: Stephen Williams <stephen.williams@gmail.com> Signed-off-by: Johannes Stezenbach <js@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
-rw-r--r--drivers/media/dvb/cinergyT2/cinergyT2.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/drivers/media/dvb/cinergyT2/cinergyT2.c b/drivers/media/dvb/cinergyT2/cinergyT2.c
index 1d69bf031fb97e..e2598bbc2bb5e2 100644
--- a/drivers/media/dvb/cinergyT2/cinergyT2.c
+++ b/drivers/media/dvb/cinergyT2/cinergyT2.c
@@ -564,10 +564,15 @@ static int cinergyt2_ioctl (struct inode *inode, struct file *file,
(__u16 __user *) arg);
case FE_READ_UNCORRECTED_BLOCKS:
- /* UNC are already converted to host byte order... */
- return put_user(stat->uncorrected_block_count,
- (__u32 __user *) arg);
+ {
+ uint32_t unc_count;
+ unc_count = stat->uncorrected_block_count;
+ stat->uncorrected_block_count = 0;
+
+ /* UNC are already converted to host byte order... */
+ return put_user(unc_count,(__u32 __user *) arg);
+ }
case FE_SET_FRONTEND:
{
struct dvbt_set_parameters_msg *param = &cinergyt2->param;