![]() | |||||||||||||
Messages in this thread |
On 2006.08.07 19:30:55 +0300, Shem Multinymous wrote:
> Hi Pavel,> > On 8/7/06, Pavel Machek <pavel@suse.cz> wrote:
> >> + int total, ret;> >> + for (total=READ_TIMEOUT_MSECS; total>0; total-=RETRY_MSECS) {> >> >Could we go from 0 to timeout, not the other way around?
>
> Sure.
> (That's actually vanilla hdapsd code, moved around...)
Maybe you could convert that to sth. like this along the way?
int ret;
unsigned long timeout = jiffies + msec_to_jiffies(READ_TIMEOUT_MSECS);
for (;;) {
ret = thinkpad_ec_lock();
if (ret)
return ret;
ret = __hdaps_update(0);
thinkpad_ec_unlock();
if (ret != -EBUSY)
return ret;
if (time_after(timeout, jiffies))
break;
msleep(RETRY_MSECS);
}
return ret;
Rationale: http://lkml.org/lkml/2005/7/14/133 - it's also listed on the
kerneljanitors todo list.
Regards
Björn
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
| ||||||||||||
| Last update: 2006-08-07 20:23 [from the cache] ©2003-2008 | |||||||||||||