mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-06 10:00:17 +00:00
i2c-bcm2708: Increase timeouts to allow larger transfers
Use the timeout value provided by the I2C_TIMEOUT ioctl when waiting for completion. The default timeout is 1 second. See: https://github.com/raspberrypi/linux/issues/260
This commit is contained in:
@@ -67,10 +67,9 @@
|
|||||||
#define BSC_S_DONE 0x00000002
|
#define BSC_S_DONE 0x00000002
|
||||||
#define BSC_S_TA 0x00000001
|
#define BSC_S_TA 0x00000001
|
||||||
|
|
||||||
#define I2C_TIMEOUT_MS 150
|
#define I2C_WAIT_LOOP_COUNT 200
|
||||||
#define I2C_WAIT_LOOP_COUNT 40
|
|
||||||
|
|
||||||
#define DRV_NAME "bcm2708_i2c"
|
#define DRV_NAME "bcm2708_i2c"
|
||||||
|
|
||||||
static unsigned int baudrate = CONFIG_I2C_BCM2708_BAUDRATE;
|
static unsigned int baudrate = CONFIG_I2C_BCM2708_BAUDRATE;
|
||||||
module_param(baudrate, uint, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP);
|
module_param(baudrate, uint, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP);
|
||||||
@@ -305,7 +304,7 @@ static int bcm2708_i2c_master_xfer(struct i2c_adapter *adap,
|
|||||||
goto error_timeout;
|
goto error_timeout;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = wait_for_completion_timeout(&bi->done, msecs_to_jiffies(I2C_TIMEOUT_MS));
|
ret = wait_for_completion_timeout(&bi->done, adap->timeout);
|
||||||
if (ret == 0) {
|
if (ret == 0) {
|
||||||
dev_err(&adap->dev, "transfer timed out\n");
|
dev_err(&adap->dev, "transfer timed out\n");
|
||||||
goto error_timeout;
|
goto error_timeout;
|
||||||
|
|||||||
Reference in New Issue
Block a user