From: Hans Schillstrom <[EMAIL PROTECTED]>

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 <[EMAIL PROTECTED]>
Signed-off-by: Sonic Zhang <[EMAIL PROTECTED]>
Signed-off-by: Bryan Wu <[EMAIL PROTECTED]>
---
 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 9a8ab6c..6560df5 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);
-- 
1.5.4.3

_______________________________________________
i2c mailing list
[email protected]
http://lists.lm-sensors.org/mailman/listinfo/i2c

Reply via email to