V4L/DVB (3129): correct FE_READ_UNCORRECTED_BLOCKS
[safe/jmp/linux-2.6] / drivers / media / dvb / cinergyT2 / cinergyT2.c
index 1d69bf0..e2598bb 100644 (file)
@@ -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;