DVB: BANDWIDTH_TO_KHZ strangeness

From: Adrian Bunk
Date: Sun Oct 14 2007 - 13:50:57 EST


drivers/media/dvb/frontends/dibx000_common.h contains:

<-- snip -->

...
#define BANDWIDTH_TO_KHZ(v) ( (v) == BANDWIDTH_8_MHZ ? 8000 : \
(v) == BANDWIDTH_7_MHZ ? 7000 : \
(v) == BANDWIDTH_6_MHZ ? 6000 : 8000 )
...

<-- snip -->


Commit b6884a17fc70e979ef34e4b5560988b522bb50a0 added to both of
drivers/media/dvb/frontends/dib7000{m,p}.c:

<-- snip -->

...
factor = BANDWIDTH_TO_KHZ(ch->u.ofdm.bandwidth);
if (factor >= 5000)
factor = 1;
else
factor = 6;
...

<-- snip -->


factor < 5000 is obviously never possible.

drivers/media/dvb/frontends/dib0070.c contains a similar assumption that
BANDWIDTH_TO_KHZ() could result in values other than {6,7,8}000
(I haven't checked whether there are more such assumptions in other
places).

Spotted by the Coverity checker.


cu
Adrian

--

"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/