From mboxrd@z Thu Jan 1 00:00:00 1970 From: tglx@linutronix.de (Thomas Gleixner) Date: Tue, 26 Jul 2016 11:07:37 +0200 (CEST) Subject: [PATCH] clocksource: sun4i: Clear interrupts after stopping timer in probe function In-Reply-To: References: <1469502119-2344-1-git-send-email-wens@csie.org> <20160726054937.GS7419@lukather> Message-ID: To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Tue, 26 Jul 2016, Chen-Yu Tsai wrote: > On Tue, Jul 26, 2016 at 1:49 PM, Maxime Ripard > wrote: > > On Tue, Jul 26, 2016 at 11:01:59AM +0800, Chen-Yu Tsai wrote: > >> The bootloader (U-boot) sometimes uses this timer for various delays. > >> It uses it as a ongoing counter, and does comparisons on the current > >> counter value. The timer counter is never stopped. > >> > >> In some cases when the user interacts with the bootloader, or lets > >> it idle for some time before loading Linux, the timer may expire, > >> and an interrupt will be pending. This results in an unexpected > >> interrupt when the timer interrupt is enabled by the kernel, at > >> which point the event_handler isn't set yet. This results in a NULL > >> pointer dereference exception, panic, and no way to reboot. > >> > >> Clear any pending interrupts after we stop the timer in the probe > >> function to avoid this. > >> > >> Signed-off-by: Chen-Yu Tsai > > > > Awesome, thanks! > > > > You should put stable in Cc though for this kind of patches. > > AFAIK some maintainers prefer to add it themselves. Not sure about > clocksource so I left it out. At least you should tell the maintainer, that you consider this to be stable material. It's not an obvious stable candidate. Thanks, tglx