]> err.no Git - linux-2.6/commitdiff
V4L/DVB (7379): tuner: prevent instance sharing if i2c adapter is NULL
authorMichael Krufky <mkrufky@linuxtv.org>
Tue, 22 Apr 2008 17:46:04 +0000 (14:46 -0300)
committerMauro Carvalho Chehab <mchehab@infradead.org>
Thu, 24 Apr 2008 17:07:51 +0000 (14:07 -0300)
We currently do not have a method to enable instance staring if i2c adapter
is NULL, in the cases of dvb demods that write to the tuner directly using
calc_regs.  Prevent possible wrong instance sharing for these cases until
a better solution can be found.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
drivers/media/video/tuner-i2c.h

index 60ba794809feabb881b64b4e030a03e4b62c89dd..3ad6c8e0b04ccbd8d612ac89db2f61911b64e225 100644 (file)
@@ -129,10 +129,10 @@ static inline int tuner_i2c_xfer_send_recv(struct tuner_i2c_props *props,
 ({                                                                     \
        int __ret = 0;                                                  \
        list_for_each_entry(state, &list, hybrid_tuner_instance_list) { \
-               if ((state->i2c_props.addr == i2caddr) &&               \
-                   ((state->i2c_props.adap ?                           \
-                       i2c_adapter_id(state->i2c_props.adap) : -1) ==  \
-                    (i2cadap ? i2c_adapter_id(i2cadap) : -1))) {       \
+               if (((i2cadap) && (state->i2c_props.adap)) &&           \
+                   ((i2c_adapter_id(state->i2c_props.adap) ==          \
+                     i2c_adapter_id(i2cadap)) &&                       \
+                    (i2caddr == state->i2c_props.addr))) {             \
                        __tuner_info(state->i2c_props,                  \
                                     "attaching existing instance\n");  \
                        state->i2c_props.count++;                       \