[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.LRH.2.21.1710200939180.3927@linux.fjfi.cvut.cz>
Date: Fri, 20 Oct 2017 09:49:00 +0200 (CEST)
From: David Kozub <zub@...ux.fjfi.cvut.cz>
To: Daniel Lezcano <daniel.lezcano@...aro.org>
cc: Thomas Gleixner <tglx@...utronix.de>, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] clockevents/drivers/cs5535: improve resilience to spurious
interrupts
On Fri, 20 Oct 2017, Daniel Lezcano wrote:
> On 20/10/2017 00:25, Thomas Gleixner wrote:
>> On Fri, 20 Oct 2017, Daniel Lezcano wrote:
>>
>>> On 19/10/2017 22:57, David Kozub wrote:
>>>> This solves a BUG on ALIX 2c3 where mfgpt_tick is called before
>>>> clockevents_config_and_register returns. This caused mfgpt_tick to call a
>>>> null function pointer.
>>>>
>>>> Thanks to Daniel Lezcano and Thomas Gleixner for helping me analyze this
>>>> and suggesting a solution.
>>>>
>>>> Suggested-by: Thomas Gleixner <tglx@...utronix.de>
>>>> Signed-off-by: David Kozub <zub@...ux.fjfi.cvut.cz>
>>>> ---
>>>
>>> Thank for sending this fix.
>>>
>>> Can you check if the commit 8f9327cbb is the one introducing the
>>> regression ? So we can add the proper tags and propagate the fix to stable.
>>
>> No it's not.
>>
>> - if (cs5535_tick_mode == CLOCK_EVT_MODE_SHUTDOWN)
>> + if (clockevent_state_shutdown(&cs5535_clockevent))
>>
>> This particular problem of the missing detached state check has been there
>> forever and went unnoticed for whatever reason.
>
> The detached condition was artificially caught by the initialized variable:
>
> -static unsigned int cs5535_tick_mode = CLOCK_EVT_MODE_SHUTDOWN;
>
> The patch 8f9327cbb removes the variable, so very likely this is where
> the problem appeared.
I will try to test that. But I won't have access to the device till Sunday
evening. I've had big trouble trying to run kernels > 4.1-rc5 on the
device and if I'm looking correctly the commit was introduced in 4.3-rc1.
But I'll try to figure something out.
Best regards,
David
Powered by blists - more mailing lists