diff options
author | Hans Schillstrom <hans.schillstrom@shlsys.com> | 2008-04-22 22:16:48 +0200 |
---|---|---|
committer | Jean Delvare <khali@hyperion.delvare> | 2008-04-22 22:16:48 +0200 |
commit | afc13b765ea71d316ce4974d3dc5a96cc73a0e95 (patch) | |
tree | 29eb54c61797787e642ab31cd0b3615ba6f9a9c0 /drivers/i2c/busses/i2c-bfin-twi.c | |
parent | d4ce220d493c2f9c41bad510c959c2130b2f1d0d (diff) | |
download | talos-op-linux-afc13b765ea71d316ce4974d3dc5a96cc73a0e95.tar.gz talos-op-linux-afc13b765ea71d316ce4974d3dc5a96cc73a0e95.zip |
i2c-bfin-twi: Fix mismatch in add timer and delete timer
Move init_completion to just before i2c transfer.
http://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_item_id=3385
Signed-off-by: Hans Schillstrom <hans.schillstrom@shlsys.com>
Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Diffstat (limited to 'drivers/i2c/busses/i2c-bfin-twi.c')
-rw-r--r-- | drivers/i2c/busses/i2c-bfin-twi.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/i2c/busses/i2c-bfin-twi.c b/drivers/i2c/busses/i2c-bfin-twi.c index 4ea31c018ef6..0cd4d36240db 100644 --- a/drivers/i2c/busses/i2c-bfin-twi.c +++ b/drivers/i2c/busses/i2c-bfin-twi.c @@ -308,6 +308,7 @@ static int bfin_twi_master_xfer(struct i2c_adapter *adap, iface->writeNum = iface->readNum = pmsg->len; iface->result = 0; iface->timeout_count = 10; + init_completion(&(iface->complete)); /* Set Transmit device address */ write_MASTER_ADDR(iface, pmsg->addr); @@ -447,6 +448,7 @@ int bfin_twi_smbus_xfer(struct i2c_adapter *adap, u16 addr, iface->read_write = read_write; iface->command = command; iface->timeout_count = 10; + init_completion(&(iface->complete)); /* FIFO Initiation. Data in FIFO should be discarded before * start a new operation. @@ -608,7 +610,6 @@ static int i2c_bfin_twi_probe(struct platform_device *pdev) } spin_lock_init(&(iface->lock)); - init_completion(&(iface->complete)); /* Find and map our resources */ res = platform_get_resource(pdev, IORESOURCE_MEM, 0); |