diff options
author | Hans Schillstrom <hans.schillstrom@shlsys.com> | 2008-04-22 16:16:48 -0400 |
---|---|---|
committer | Jean Delvare <khali@hyperion.delvare> | 2008-04-22 16:16:48 -0400 |
commit | afc13b765ea71d316ce4974d3dc5a96cc73a0e95 (patch) | |
tree | 29eb54c61797787e642ab31cd0b3615ba6f9a9c0 | |
parent | d4ce220d493c2f9c41bad510c959c2130b2f1d0d (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.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, | |||
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); |