diff options
| author | Arnd Bergmann <arnd@arndb.de> | 2011-12-06 14:23:35 +0000 | 
|---|---|---|
| committer | Arnd Bergmann <arnd@arndb.de> | 2011-12-06 14:23:35 +0000 | 
| commit | 3642a0a2c7d2d1949988d0fd004a8039c1f3d02f (patch) | |
| tree | e687c88b1b66ad51a6a6c529f7f328f2d3b625fa /kernel/hrtimer.c | |
| parent | 58a273745fbb2fbd01d26e7a60f0acc8c1d99469 (diff) | |
| parent | b07fed455c883f07f8e847f5b0d79975b4dc8e7a (diff) | |
Merge branch 'mxs/saif' into next/drivers
Conflicts:
	drivers/net/ethernet/cadence/Kconfig
Diffstat (limited to 'kernel/hrtimer.c')
| -rw-r--r-- | kernel/hrtimer.c | 6 | 
1 files changed, 4 insertions, 2 deletions
diff --git a/kernel/hrtimer.c b/kernel/hrtimer.c index 422e567eecf6..ae34bf51682b 100644 --- a/kernel/hrtimer.c +++ b/kernel/hrtimer.c @@ -885,10 +885,13 @@ static void __remove_hrtimer(struct hrtimer *timer,  			     struct hrtimer_clock_base *base,  			     unsigned long newstate, int reprogram)  { +	struct timerqueue_node *next_timer;  	if (!(timer->state & HRTIMER_STATE_ENQUEUED))  		goto out; -	if (&timer->node == timerqueue_getnext(&base->active)) { +	next_timer = timerqueue_getnext(&base->active); +	timerqueue_del(&base->active, &timer->node); +	if (&timer->node == next_timer) {  #ifdef CONFIG_HIGH_RES_TIMERS  		/* Reprogram the clock event device. if enabled */  		if (reprogram && hrtimer_hres_active()) { @@ -901,7 +904,6 @@ static void __remove_hrtimer(struct hrtimer *timer,  		}  #endif  	} -	timerqueue_del(&base->active, &timer->node);  	if (!timerqueue_getnext(&base->active))  		base->cpu_base->active_bases &= ~(1 << base->index);  out:  | 
