V4L/DVB (9445): Bug: Bandwidth calculation at upper and lower boundaries
authorReinhard Nissl <rnissl@gmx.de>
Fri, 18 Jan 2008 19:06:18 +0000 (16:06 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Mon, 29 Dec 2008 19:53:21 +0000 (17:53 -0200)
Signed-off-by: Reinhard Nissl <rnissl@gmx.de>
Signed-off-by: Manu Abraham <manu@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/dvb/frontends/stb6100.c

index f4c2b8e114bf5b540e45df097dc1d29a85c8c4bf..0259a468950766357f172cfe0584650fc5d77b9d 100644 (file)
@@ -267,13 +267,13 @@ static int stb6100_set_bandwidth(struct dvb_frontend *fe, u32 bandwidth)
        int rc;
        struct stb6100_state *state = fe->tuner_priv;
 
-       dprintk(verbose, FE_DEBUG, 1, "set bandwidth to %u kHz", bandwidth);
+       dprintk(verbose, FE_DEBUG, 1, "set bandwidth to %u Hz", bandwidth);
 
        bandwidth /= 2; /* ZIF */
 
-       if (bandwidth > 36000000)       /* F[4:0] BW/2 max =31+5=36 mhz for F=31        */
+       if (bandwidth >= 36000000)      /* F[4:0] BW/2 max =31+5=36 mhz for F=31        */
                tmp = 31;
-       if (bandwidth < 5000000)        /* bw/2 min = 5Mhz for F=0                      */
+       else if (bandwidth <= 5000000)  /* bw/2 min = 5Mhz for F=0                      */
                tmp = 0;
        else                            /* if 5 < bw/2 < 36                             */
                tmp = bandwidth / 1000000 - 5;