Hello Wolfram, On 02/06/15 17:53, ext Wolfram Sang wrote: >> There are several problems in the function: >> > - "to_cnt" variable does nothing >> > - schedule_timeout() call without setting current state does nothing >> > - "allow_sleep" parameter is not really used >> > >> > Refactor the function so that it really tries to wait. In case of timeout try >> > to recover the bus. >> > >> > Signed-off-by: Alexander Sverdlin <alexander.sverdlin@xxxxxxxxx> > Don't you get a build warning? > > drivers/i2c/busses/i2c-davinci.c: In function 'i2c_davinci_wait_bus_not_busy': > drivers/i2c/busses/i2c-davinci.c:364:18: warning: passing argument 1 of 'i2c_recover_bus' from incompatible pointer type > i2c_recover_bus(dev); > ^ > In file included from drivers/i2c/busses/i2c-davinci.c:26:0: > include/linux/i2c.h:446:5: note: expected 'struct i2c_adapter *' but argument is of type 'struct davinci_i2c_dev *' > int i2c_recover_bus(struct i2c_adapter *adap); oh, this is awful copy-paster error... I'll re-send! -- Best regards, Alexander Sverdlin. -- To unsubscribe from this list: send the line "unsubscribe linux-i2c" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html