]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - kernel/rtmutex.c
h63xx: initial omap board support.
[linux-2.6-omap-h63xx.git] / kernel / rtmutex.c
index 8cd9bd2cdb34243a89c45102708abdcc2c7cbdbd..69d9cb921ffa657ef6939be6dcfb053570fb019f 100644 (file)
@@ -185,7 +185,7 @@ static int rt_mutex_adjust_prio_chain(struct task_struct *task,
                        prev_max = max_lock_depth;
                        printk(KERN_WARNING "Maximum lock depth %d reached "
                               "task: %s (%d)\n", max_lock_depth,
-                              top_task->comm, top_task->pid);
+                              top_task->comm, task_pid_nr(top_task));
                }
                put_task_struct(task);
 
@@ -630,9 +630,11 @@ rt_mutex_slowlock(struct rt_mutex *lock, int state,
        set_current_state(state);
 
        /* Setup the timer, when timeout != NULL */
-       if (unlikely(timeout))
-               hrtimer_start(&timeout->timer, timeout->timer.expires,
-                             HRTIMER_MODE_ABS);
+       if (unlikely(timeout)) {
+               hrtimer_start_expires(&timeout->timer, HRTIMER_MODE_ABS);
+               if (!hrtimer_active(&timeout->timer))
+                       timeout->task = NULL;
+       }
 
        for (;;) {
                /* Try to acquire the lock: */