[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <Pine.LNX.4.64.0905021518250.9563@pc-004.diku.dk>
Date: Sat, 2 May 2009 15:19:03 +0200 (CEST)
From: Julia Lawall <julia@...u.dk>
To: mchehab@...radead.org, linux-media@...r.kernel.org,
linux-kernel@...r.kernel.org, kernel-janitors@...r.kernel.org
Subject: tvaudio.c: possible problem with V4L2_TUNER_MODE_MONO
The file drivers/media/video/tvaudio.c contains the following code:
(starting at line 1257 in a recent linux-next)
if (mode & V4L2_TUNER_MODE_MONO)
s1 |= TDA8425_S1_STEREO_MONO;
if (mode & V4L2_TUNER_MODE_STEREO)
s1 |= TDA8425_S1_STEREO_SPATIAL;
(starting at line 1856 in a recent linux-next)
if (mode & V4L2_TUNER_MODE_MONO)
vt->rxsubchans |= V4L2_TUNER_SUB_MONO;
if (mode & V4L2_TUNER_MODE_STEREO)
vt->rxsubchans |= V4L2_TUNER_SUB_STEREO;
The only possible value of V4L2_TUNER_MODE_MONO, however, seems to be 0, as
defined in include/linux/videodev2.h, and thus the first test in each case
is never true. Is this what is intended, or should the tests be expressed
in another way?
julia
This problem was found using the following semantic match:
(http://www.emn.fr/x-info/coccinelle/)
@r expression@
identifier C;
expression E;
position p;
@@
(
E & C@p && ...
|
E & C@p || ...
)
@s@
identifier r.C;
position p1;
@@
#define C 0
@t@
identifier r.C;
expression E != 0;
@@
#define C E
@script:python depends on s && !t@
p << r.p;
C << r.C;
@@
cocci.print_main("and with 0", p)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists