diff options
-rw-r--r-- | linux/drivers/media/video/tuner-core.c | 8 | ||||
-rw-r--r-- | v4l/ChangeLog | 8 |
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: |