Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=720a2592cf1b9af86f30c44e8d89348826c03372
Commit:     720a2592cf1b9af86f30c44e8d89348826c03372
Parent:     96b5a46e2a72dc1829370c87053e0cd558d58bc0
Author:     Peter Zijlstra <[EMAIL PROTECTED]>
AuthorDate: Wed Feb 13 15:45:36 2008 +0100
Committer:  Ingo Molnar <[EMAIL PROTECTED]>
CommitDate: Wed Feb 13 15:45:36 2008 +0100

    hrtimer: more hrtimer_init_sleeper() fallout.
    
    Missed an instance...
    
      futex_lock_pi()
        hrtimer_init_sleeper()
        rt_mutex_timed_lock()
          rt_mutex_timed_fastlock()
            rt_mutex_slowlock()
              hrtimer_start()
    
    Signed-off-by: Peter Zijlstra <[EMAIL PROTECTED]>
    Signed-off-by: Ingo Molnar <[EMAIL PROTECTED]>
---
 kernel/rtmutex.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/kernel/rtmutex.c b/kernel/rtmutex.c
index 0deef71..6522ae5 100644
--- a/kernel/rtmutex.c
+++ b/kernel/rtmutex.c
@@ -630,9 +630,12 @@ rt_mutex_slowlock(struct rt_mutex *lock, int state,
        set_current_state(state);
 
        /* Setup the timer, when timeout != NULL */
-       if (unlikely(timeout))
+       if (unlikely(timeout)) {
                hrtimer_start(&timeout->timer, timeout->timer.expires,
                              HRTIMER_MODE_ABS);
+               if (!hrtimer_active(&timeout->timer))
+                       timeout->task = NULL;
+       }
 
        for (;;) {
                /* Try to acquire the lock: */
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to