From 4f9bcba94dc334674aae681c76a6aa1de9cd7724 Mon Sep 17 00:00:00 2001 From: Mauro Carvalho Chehab Date: Fri, 28 Sep 2012 16:28:51 -0300 Subject: [PATCH] --- yaml --- r: 331191 b: refs/heads/master c: 347c4e95845fad1853c0e3da6603a44c5d6122b3 h: refs/heads/master i: 331189: 00886a6553d4a4156a7a7f47396e2f09f3f7d4b9 331187: d2a10428418b2fbb82864473fb8db7547269935d 331183: 9500816f0a69240a519927832a27450a60e5e08b v: v3 --- [refs] | 2 +- trunk/drivers/media/dvb-frontends/tda1004x.c | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 7775fb8b8822..a85422b13d21 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 25ec43d3e6306978cf66060ed18c4160ce8fc302 +refs/heads/master: 347c4e95845fad1853c0e3da6603a44c5d6122b3 diff --git a/trunk/drivers/media/dvb-frontends/tda1004x.c b/trunk/drivers/media/dvb-frontends/tda1004x.c index 35d72b46aa1e..a2631be7ffac 100644 --- a/trunk/drivers/media/dvb-frontends/tda1004x.c +++ b/trunk/drivers/media/dvb-frontends/tda1004x.c @@ -329,6 +329,7 @@ static int tda1004x_do_upload(struct tda1004x_state *state, tda1004x_write_byteI(state, dspCodeCounterReg, 0); fw_msg.addr = state->config->demod_address; + i2c_lock_adapter(state->i2c); buf[0] = dspCodeInReg; while (pos != len) { // work out how much to send this time @@ -339,15 +340,18 @@ static int tda1004x_do_upload(struct tda1004x_state *state, // send the chunk memcpy(buf + 1, mem + pos, tx_size); fw_msg.len = tx_size + 1; - if (i2c_transfer(state->i2c, &fw_msg, 1) != 1) { + if (__i2c_transfer(state->i2c, &fw_msg, 1) != 1) { printk(KERN_ERR "tda1004x: Error during firmware upload\n"); + i2c_unlock_adapter(state->i2c); return -EIO; } pos += tx_size; dprintk("%s: fw_pos=0x%x\n", __func__, pos); } - // give the DSP a chance to settle 03/10/05 Hac + i2c_unlock_adapter(state->i2c); + + /* give the DSP a chance to settle 03/10/05 Hac */ msleep(100); return 0;