Browse Source

V4L/DVB (7379): tuner: prevent instance sharing if i2c adapter is NULL

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>
Michael Krufky 17 years ago
parent
commit
cac2b0eb18
1 changed files with 4 additions and 4 deletions
  1. 4 4
      drivers/media/video/tuner-i2c.h

+ 4 - 4
drivers/media/video/tuner-i2c.h

@@ -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++;			\