aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHans Schillstrom <hans.schillstrom@shlsys.com>2008-04-22 16:16:48 -0400
committerJean Delvare <khali@hyperion.delvare>2008-04-22 16:16:48 -0400
commitafc13b765ea71d316ce4974d3dc5a96cc73a0e95 (patch)
tree29eb54c61797787e642ab31cd0b3615ba6f9a9c0
parentd4ce220d493c2f9c41bad510c959c2130b2f1d0d (diff)
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>
-rw-r--r--drivers/i2c/busses/i2c-bfin-twi.c3
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,
308 iface->writeNum = iface->readNum = pmsg->len; 308 iface->writeNum = iface->readNum = pmsg->len;
309 iface->result = 0; 309 iface->result = 0;
310 iface->timeout_count = 10; 310 iface->timeout_count = 10;
311 init_completion(&(iface->complete));
311 /* Set Transmit device address */ 312 /* Set Transmit device address */
312 write_MASTER_ADDR(iface, pmsg->addr); 313 write_MASTER_ADDR(iface, pmsg->addr);
313 314
@@ -447,6 +448,7 @@ int bfin_twi_smbus_xfer(struct i2c_adapter *adap, u16 addr,
447 iface->read_write = read_write; 448 iface->read_write = read_write;
448 iface->command = command; 449 iface->command = command;
449 iface->timeout_count = 10; 450 iface->timeout_count = 10;
451 init_completion(&(iface->complete));
450 452
451 /* FIFO Initiation. Data in FIFO should be discarded before 453 /* FIFO Initiation. Data in FIFO should be discarded before
452 * start a new operation. 454 * start a new operation.
@@ -608,7 +610,6 @@ static int i2c_bfin_twi_probe(struct platform_device *pdev)
608 } 610 }
609 611
610 spin_lock_init(&(iface->lock)); 612 spin_lock_init(&(iface->lock));
611 init_completion(&(iface->complete));
612 613
613 /* Find and map our resources */ 614 /* Find and map our resources */
614 res = platform_get_resource(pdev, IORESOURCE_MEM, 0); 615 res = platform_get_resource(pdev, IORESOURCE_MEM, 0);