lkml.org 
[lkml]   [2006]   [Aug]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    Subjecttimeout nonsense [was Re: [PATCH 04/12] hdaps: Correct readout and remove nonsensical attributes]
    Hi!

    > > 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;

    [imagine TIMEOUT_MSEC pause here, SMM does its job?]

    > 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.

    Please don't. New variant is _wrong_. Someone should tell
    kerneljanitors :-) ... aha, and Linus.

    Minimal fix would be to run one more iteration after timeout.
    Pavel

    --
    (english) http://www.livejournal.com/~pavelmachek
    (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
    -
    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-08 01:33    [W:0.022 / U:0.736 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site