i2c: designware: Use transfer timeout from ioctl I2C_TIMEOUT
authorWeifeng Voon <weifeng.voon@intel.com>
Fri, 17 Jun 2016 01:46:35 +0000 (09:46 +0800)
committerWolfram Sang <wsa@the-dreams.de>
Sun, 19 Jun 2016 16:52:44 +0000 (18:52 +0200)
This allows applications to set the transfer timeout in 10ms increments via
ioctl I2C_TIMEOUT.

Signed-off-by: Weifeng Voon <weifeng.voon@intel.com>
Acked-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
drivers/i2c/busses/i2c-designware-core.c

index 99b54be..c6922b8 100644 (file)
@@ -663,7 +663,7 @@ i2c_dw_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], int num)
        i2c_dw_xfer_init(dev);
 
        /* wait for tx to complete */
-       if (!wait_for_completion_timeout(&dev->cmd_complete, HZ)) {
+       if (!wait_for_completion_timeout(&dev->cmd_complete, adap->timeout)) {
                dev_err(dev->dev, "controller timed out\n");
                /* i2c_dw_init implicitly disables the adapter */
                i2c_dw_init(dev);