i2c-comcerto: Limit duration of I2C transaction

The Comcerto I2C driver implements a state machine that is interrupt
driven. The state machine stalls when interrupts are blocked out.
Depending on what state the state machine is blocked in, the signal SDA
or SCL or both might be held low by the I2C master controller while the
state machine is in this state.
Although this is not a violation of the I2C spec, the temperature sensor
LM96063 resets its SMBus interface if SDA or SCL are held low for more
than 35ms. Resetting the SMBus interface mid transaction might cause a
failure which we are unnable to detect.

Change-Id: I803848fc95f21ab557013fe35a68867cd9bd60cf
1 file changed