David Brownell wrote:

> That was obviously tested only at HZ=100 or with quick-ish
> EEPROMs!
Ah, okay. I was aware that msleep(1) waits not less than 10ms with 
HZ=100. I simply wondered, how to reach the timeout value for bigger 
HZ-values.

> That loop should (a) run at least a few times, maybe three;
> and (b) not exit before the timeout passes.
...or (c) return successfully as soon as possible. This is why you used 
msleep(1) and not something like msleep(AT24_EE_TIMEOUT / 2). I got it :)

 >      timeout = ... ;
 >      retries = 0;
 >      while (retries++ < 3 || time_before(jiffies, timeout)) {
 >              ... try write, quit loop on success ...
 >              msleep(1);
 >      }
This looks good, will include it!

    Wolfram

-- 
   Dipl.-Ing. Wolfram Sang | http://www.pengutronix.de
  Pengutronix - Linux Solutions for Science and Industry


_______________________________________________
i2c mailing list
[email protected]
http://lists.lm-sensors.org/mailman/listinfo/i2c

Reply via email to