[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4EEF4B0D.1090009@LiPPERTEmbedded.de>
Date: Mon, 19 Dec 2011 15:32:45 +0100
From: Jens Rottmann <JRottmann@...PERTEmbedded.de>
To: Thomas Gleixner <tglx@...utronix.de>
CC: stable@...r.kernel.org, Andres Salomon <dilinger@...ued.net>,
linux-kernel@...r.kernel.org, linux-geode@...ts.infradead.org
Subject: "clockevents: Set noop handler in clockevents_exchange_device()"
causes hang with cs5535-clockevt
Hi Thomas,
I wrote (to Andres):
> If I turn off SMP, cs5535-clockevt replaces the pit timer and the MFGPT IRQ
> starts firing just as you said - at least on 3.0.9. 3.2-rc5 prefers to hang
> instead, looks like no timer events get generated.
Commit de28f25e8244c7353abed8de0c7792f5f883588c (Linus's tree) makes the
kernel hang during boot if the cs5535-clockevt driver is used. The (silent)
hang occurs shortly after the cs5535-clockevt becomes active. The keyboard
(incl. SysRq) stays responsive but the kernel seems starved of timer events
and does nothing on its own accord any more. Happens on 3.0.13, 3.1.5 and
3.2-rc6. Commit went into 2.6.32.50, too, but haven't tested this.
I don't know the code so I can't tell what's really going wrong or provide a
fix. I played around with it a bit:
Tried to change the order, putting "old->event_handler =" behind the
list_add() doesn't help. Neither does adding "if (new)" immediately before
"old->event_handler =". But "if (!new)" does.
As you see, I'm aimlessly guessing around, sorry. Just tell me if you need
anything tested.
Thanks and best regards,
Jens Rottmann
--
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