diff options
Diffstat (limited to 'kernel/posix-cpu-timers.c')
| -rw-r--r-- | kernel/posix-cpu-timers.c | 5 | 
1 files changed, 3 insertions, 2 deletions
diff --git a/kernel/posix-cpu-timers.c b/kernel/posix-cpu-timers.c index 7c7166f766c..cce2f0b2d40 100644 --- a/kernel/posix-cpu-timers.c +++ b/kernel/posix-cpu-timers.c @@ -676,7 +676,7 @@ int posix_cpu_timer_set(struct k_itimer *timer, int flags,  			struct itimerspec *new, struct itimerspec *old)  {  	struct task_struct *p = timer->it.cpu.task; -	union cpu_time_count old_expires, new_expires, val; +	union cpu_time_count old_expires, new_expires, old_incr, val;  	int ret;  	if (unlikely(p == NULL)) { @@ -707,6 +707,7 @@ int posix_cpu_timer_set(struct k_itimer *timer, int flags,  	BUG_ON(!irqs_disabled());  	ret = 0; +	old_incr = timer->it.cpu.incr;  	spin_lock(&p->sighand->siglock);  	old_expires = timer->it.cpu.expires;  	if (unlikely(timer->it.cpu.firing)) { @@ -822,7 +823,7 @@ int posix_cpu_timer_set(struct k_itimer *timer, int flags,   out:  	if (old) {  		sample_to_timespec(timer->it_clock, -				   timer->it.cpu.incr, &old->it_interval); +				   old_incr, &old->it_interval);  	}  	return ret;  }  |