[media] drxk: fix CNR calculus
authorMauro Carvalho Chehab <mchehab@redhat.com>
Fri, 22 Mar 2013 09:37:32 +0000 (06:37 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Fri, 22 Mar 2013 12:46:45 +0000 (09:46 -0300)
Changeset 8f3741e accidentally broke the CNR estimation. It should
be calculated as "a + b - c". However, previously, the subtraction
by c only occurred if SNR would be positive, due to a bad binding
to DVBv3 API.

This also fixes the following warning:
drivers/media/dvb-frontends/drxk_hard.c:2556:6: warning: variable 'c' set but not used [-Wunused-but-set-variable]

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/dvb-frontends/drxk_hard.c

index fc93bd3..55a4c22 100644 (file)
@@ -2628,7 +2628,7 @@ static int GetDVBTSignalToNoise(struct drxk_state *state,
                /* log(x) x = (16bits + 16bits) << 15 ->32 bits  */
                c = Log10Times100(SqrErrIQ);
 
-               iMER = a + b;
+               iMER = a + b - c;
        }
        *pSignalToNoise = iMER;