Re: [PATCH 01/17] clocksource: exynos_mct: Clear timer interrupt when stopping

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 31 Jan 2019 at 13:02, Stuart Menefy
<stuart.menefy@xxxxxxxxxxxxxxxx> wrote:
> Good point, I'll move the call to exynos4_mct_tick_stop() into
> exynos4_mct_tick_isr(), leaving exynos4_mct_tick_clear() just
> doing what its name suggests it should do.
>
> > In general, are you sure that this is needed? After stopping the
> > timer, still if any interrupt fires the request handler should be
> > called and be processed.
>
> The timer is only shutdown after interrupts have been disabled.
> Just to double check I made the following change:
>
> diff --git a/kernel/power/suspend.c b/kernel/power/suspend.c
> index 0bd595a0b610..a37a3b25da14 100644
> --- a/kernel/power/suspend.c
> +++ b/kernel/power/suspend.c
> @@ -434,6 +434,7 @@ static int suspend_enter(suspend_state_t state,
> bool *wakeup)
>
>         arch_suspend_disable_irqs();
>         BUG_ON(!irqs_disabled());
> +       mdelay(1000);
>
>         system_state = SYSTEM_SUSPEND;
>
> which guarantees that a tick occurs after interrupts have been
> disabled, and the system
> no longer suspends. Obviously in normal operations this is extremely
> unlikely, but it is
> possible. However while debugging I had a huge number of printks in
> place which caused
> a long delay before the suspend, and which initially highlighted the problem.

Indeed, make sense. Please go with v2. Nice work in general!

Best regards,
Krzysztof



[Index of Archives]     [Linux SoC Development]     [Linux Rockchip Development]     [Linux for Synopsys ARC Processors]    
  • [Linux on Unisoc (RDA Micro) SoCs]     [Linux Actions SoC]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Linux SCSI]     [Yosemite News]

  •   Powered by Linux