Skip to content

Commit

Permalink
i2c-davinci: Initialize cmd_complete sooner
Browse files Browse the repository at this point in the history
If an interrupt happens before an I2c master read/write,
complete is called on uninitialized structure.

Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
Signed-off-by: Kevin Hilman <khilman@mvista.com>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
  • Loading branch information
Troy Kisky authored and Jean Delvare committed Jul 14, 2008
1 parent 5a0d5f5 commit 2e74378
Showing 1 changed file with 2 additions and 1 deletion.
3 changes: 2 additions & 1 deletion drivers/i2c/busses/i2c-davinci.c
Original file line number Diff line number Diff line change
Expand Up @@ -262,7 +262,7 @@ i2c_davinci_xfer_msg(struct i2c_adapter *adap, struct i2c_msg *msg, int stop)

davinci_i2c_write_reg(dev, DAVINCI_I2C_CNT_REG, dev->buf_len);

init_completion(&dev->cmd_complete);
INIT_COMPLETION(dev->cmd_complete);
dev->cmd_err = 0;

/* Take I2C out of reset, configure it as master and set the
Expand Down Expand Up @@ -519,6 +519,7 @@ static int davinci_i2c_probe(struct platform_device *pdev)
goto err_release_region;
}

init_completion(&dev->cmd_complete);
dev->dev = get_device(&pdev->dev);
dev->irq = irq->start;
platform_set_drvdata(pdev, dev);
Expand Down

0 comments on commit 2e74378

Please sign in to comment.