From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Subject: Re: [PATCH v3] clocksource: sun4i: Clear interrupts after stopping timer in probe function To: Chen-Yu Tsai , Thomas Gleixner , Maxime Ripard References: <20160825062659.17433-1-wens@csie.org> Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, stable@vger.kernel.org From: Daniel Lezcano Message-ID: <57BEB643.7030404@linaro.org> Date: Thu, 25 Aug 2016 11:11:31 +0200 MIME-Version: 1.0 In-Reply-To: <20160825062659.17433-1-wens@csie.org> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: On 08/25/2016 08:26 AM, 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. > > Cc: stable@vger.kernel.org > Signed-off-by: Chen-Yu Tsai > --- Applied. Thanks ! -- Daniel -- Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog