summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--linux/drivers/media/video/tuner-core.c8
-rw-r--r--v4l/ChangeLog8
2 files changed, 14 insertions, 2 deletions
diff --git a/linux/drivers/media/video/tuner-core.c b/linux/drivers/media/video/tuner-core.c
index e71e8df6b..ee6249263 100644
--- a/linux/drivers/media/video/tuner-core.c
+++ b/linux/drivers/media/video/tuner-core.c
@@ -1,5 +1,5 @@
/*
- * $Id: tuner-core.c,v 1.36 2005/07/01 08:22:24 nsh Exp $
+ * $Id: tuner-core.c,v 1.37 2005/07/01 12:13:09 mchehab Exp $
*
* i2c tv tuner chip device driver
* core core, i.e. kernel interfaces, registering and so on
@@ -325,7 +325,6 @@ static int tuner_attach(struct i2c_adapter *adap, int addr, int kind)
t->audmode = V4L2_TUNER_MODE_STEREO;
t->admin_status = T_UNINITIALIZED;
- i2c_attach_client(&t->i2c);
tuner_info("chip found @ 0x%x (%s)\n", addr << 1, adap->name);
/* TEA5767 autodetection code - only for addr = 0xc0 */
@@ -334,6 +333,9 @@ static int tuner_attach(struct i2c_adapter *adap, int addr, int kind)
t->type = TUNER_TEA5767;
t->admin_status = T_RADIO|T_STANDBY;
default_admin_status &= ~T_RADIO;
+
+ /* Should be just before return */
+ i2c_attach_client(&t->i2c);
return 0;
}
}
@@ -345,6 +347,8 @@ static int tuner_attach(struct i2c_adapter *adap, int addr, int kind)
default_admin_status = T_UNINITIALIZED;
}
+ /* Should be just before return */
+ i2c_attach_client(&t->i2c);
return 0;
}
diff --git a/v4l/ChangeLog b/v4l/ChangeLog
index 3897fa469..daca21990 100644
--- a/v4l/ChangeLog
+++ b/v4l/ChangeLog
@@ -1,3 +1,10 @@
+2005-06-01 12:09 mchehab
+ * tuner-core.c:
+
+ - Fixed a race condition at I2C implementation.
+
+ Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
+
2005-07-01 08:02 mkrufky
* cx88-cards.c, cx88-dvb.c, cx88.h:
* doc/CARDLIST.cx88:
@@ -22,6 +29,7 @@
Signed-Off-By: Michael Tokarev <mjt@tls.msk.ru>
+>>>>>>> 1.109
2005-06-29 17:18 mchehab
* tuner-core.c: