Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f8a89fc0 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull timer fixes from Thomas Gleixner:
 "Two minimalistic fixes for 4.2 regressions:

   - Eric fixed a thinko in the timer_list base switching code caused by
     the overhaul of the timer wheel.  It can cause a cpu to see the
     wrong base for a timer while we move the timer around.

   - Guenter fixed a regression for IMX if booted w/o device tree, where
     the timer interrupt is not initialized and therefor the machine
     fails to boot"

* 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  clocksource/imx: Fix boot with non-DT systems
  timer: Write timer->flags atomically
parents e525293d be3b0f9b
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -462,6 +462,7 @@ void __init mxc_timer_init(unsigned long pbase, int irq, enum imx_gpt_type type)
	BUG_ON(!imxtm->base);
	BUG_ON(!imxtm->base);


	imxtm->type = type;
	imxtm->type = type;
	imxtm->irq = irq;


	_mxc_timer_init(imxtm);
	_mxc_timer_init(imxtm);
}
}
+2 −2
Original line number Original line Diff line number Diff line
@@ -807,8 +807,8 @@ __mod_timer(struct timer_list *timer, unsigned long expires,
			spin_unlock(&base->lock);
			spin_unlock(&base->lock);
			base = new_base;
			base = new_base;
			spin_lock(&base->lock);
			spin_lock(&base->lock);
			timer->flags &= ~TIMER_BASEMASK;
			WRITE_ONCE(timer->flags,
			timer->flags |= base->cpu;
				   (timer->flags & ~TIMER_BASEMASK) | base->cpu);
		}
		}
	}
	}