Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2e743787 authored by Troy Kisky's avatar Troy Kisky Committed by Jean Delvare
Browse files

i2c-davinci: Initialize cmd_complete sooner



If an interrupt happens before an I2c master read/write,
complete is called on uninitialized structure.

Signed-off-by: default avatarTroy Kisky <troy.kisky@boundarydevices.com>
Signed-off-by: default avatarKevin Hilman <khilman@mvista.com>
Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
parent 5a0d5f5f
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -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
@@ -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);