[media] ivtv: fix two smatch warnings
authorMauro Carvalho Chehab <mchehab@osg.samsung.com>
Fri, 5 Jun 2015 12:08:09 +0000 (09:08 -0300)
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>
Fri, 5 Jun 2015 14:26:36 +0000 (11:26 -0300)
Smatch currently produces two warnings:
drivers/media/pci/ivtv/ivtv-fileops.c:901 ivtv_v4l2_close() warn: suspicious bitop condition
drivers/media/pci/ivtv/ivtv-fileops.c:1026 ivtv_open() warn: suspicious bitop condition

Those are false positives, but it is not hard to get rid of them by
using a different way to evaluate the macro, splitting the logical
boolean evaluation from the bitmap one.

Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
drivers/media/pci/ivtv/ivtv-driver.h

index e8b6c7a..ee0ef6e 100644 (file)
@@ -830,7 +830,8 @@ static inline int ivtv_raw_vbi(const struct ivtv *itv)
        do {                                                            \
                struct v4l2_subdev *__sd;                               \
                __v4l2_device_call_subdevs_p(&(itv)->v4l2_dev, __sd,    \
-                       !(hw) || (__sd->grp_id & (hw)), o, f , ##args); \
+                        !(hw) ? true : (__sd->grp_id & (hw)),          \
+                        o, f, ##args);                                 \
        } while (0)
 
 #define ivtv_call_all(itv, o, f, args...) ivtv_call_hw(itv, 0, o, f , ##args)