public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* drivers/media/video/tvp5150.c:tvp5150_selmux() looks wrong
@ 2006-08-14 23:33 Adrian Bunk
  0 siblings, 0 replies; only message in thread
From: Adrian Bunk @ 2006-08-14 23:33 UTC (permalink / raw)
  To: Hans Verkuil, mchehab; +Cc: v4l-dvb-maintainer, linux-kernel

The Coverity checker spotted this very strange code introduced by commit 
c7c0b34c27bbf0671807e902fbfea6270c8f138d:

<--  snip  -->

...
static inline void tvp5150_selmux(struct i2c_client *c)
{
        int opmode=0;
        struct tvp5150 *decoder = i2c_get_clientdata(c);
        int input = 0;

        if ((decoder->route.output & TVP5150_BLACK_SCREEN) || !decoder->enable)
                input = 8;

        switch (input) {
        case TVP5150_COMPOSITE1:
                input |= 2;
                /* fall through */
        case TVP5150_COMPOSITE0:
                opmode=0x30;            /* TV Mode */
                break;
        case TVP5150_SVIDEO:
        default:
                input |= 1;
                opmode=0;               /* Auto Mode */
                break;
        }

        tvp5150_write(c, TVP5150_OP_MODE_CTL, opmode);
        tvp5150_write(c, TVP5150_VD_IN_SRC_SEL_1, input);
};
...

<--  snip  -->

What is done with "input" looks really buggy (e.g. it's either 0 or 8 
and the switch checks for 0, 1, 2).

cu
Adrian

-- 

    Gentoo kernels are 42 times more popular than SUSE kernels among
    KLive users  (a service by SUSE contractor Andrea Arcangeli that
    gathers data about kernels from many users worldwide).

       There are three kinds of lies: Lies, Damn Lies, and Statistics.
                                                    Benjamin Disraeli


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2006-08-14 23:33 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-08-14 23:33 drivers/media/video/tvp5150.c:tvp5150_selmux() looks wrong Adrian Bunk

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox