Add return -ENODEV on no ack from slave in i2c_write and i2c_read.
This breaks the loop early if no slave is available and returns an appropriate error code now. Earlier the timer variable int timer = 1000000;
would reach 0 due to continuous decrements and return an 'ioctl stream timeout' error.