[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87pqb55mk9.fsf@turtle.gmx.de>
Date: Wed, 18 Apr 2012 13:03:34 +0200
From: Sven Joachim <svenjoac@....de>
To: Thomas Gleixner <tglx@...utronix.de>
Cc: "Rafael J. Wysocki" <rjw@...k.pl>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Ingo Molnar <mingo@...nel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Suresh Siddha <suresh.b.siddha@...el.com>
Subject: Re: kernel panic after suspend/resume
Am 18.04.2012 um 12:08 schrieb Thomas Gleixner:
> On Wed, 18 Apr 2012, Sven Joachim wrote:
>
>> On 2012-04-17 23:21 +0200, Rafael J. Wysocki wrote:
>>
>> > Well, commit fa4da365bc7772c kind of looks like it might be the source of
>> > this trouble. Sven, can you try to revert it, please?
>>
>> This seems to do the trick, thanks.
>
> Can you try the following patch instead?
Appears to work fine, thanks.
> diff --git a/kernel/time/tick-broadcast.c b/kernel/time/tick-broadcast.c
> index bf57abd..119aca5 100644
> --- a/kernel/time/tick-broadcast.c
> +++ b/kernel/time/tick-broadcast.c
> @@ -531,7 +531,6 @@ void tick_broadcast_setup_oneshot(struct clock_event_device *bc)
> int was_periodic = bc->mode == CLOCK_EVT_MODE_PERIODIC;
>
> bc->event_handler = tick_handle_oneshot_broadcast;
> - clockevents_set_mode(bc, CLOCK_EVT_MODE_ONESHOT);
>
> /* Take the do_timer update */
> tick_do_timer_cpu = cpu;
> @@ -549,6 +548,7 @@ void tick_broadcast_setup_oneshot(struct clock_event_device *bc)
> to_cpumask(tmpmask));
>
> if (was_periodic && !cpumask_empty(to_cpumask(tmpmask))) {
> + clockevents_set_mode(bc, CLOCK_EVT_MODE_ONESHOT);
> tick_broadcast_init_next_event(to_cpumask(tmpmask),
> tick_next_period);
> tick_broadcast_set_event(tick_next_period, 1);
> @@ -577,15 +577,10 @@ void tick_broadcast_switch_to_oneshot(void)
> raw_spin_lock_irqsave(&tick_broadcast_lock, flags);
>
> tick_broadcast_device.mode = TICKDEV_MODE_ONESHOT;
> -
> - if (cpumask_empty(tick_get_broadcast_mask()))
> - goto end;
> -
> bc = tick_broadcast_device.evtdev;
> if (bc)
> tick_broadcast_setup_oneshot(bc);
>
> -end:
> raw_spin_unlock_irqrestore(&tick_broadcast_lock, flags);
> }
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists