Re: [WARNING] at kernel/irq/manage.c:421 __enable_irq

From: Steven Rostedt
Date: Wed May 16 2012 - 07:57:10 EST


On Wed, 2012-05-16 at 13:27 +0200, Thomas Gleixner wrote:
> On Tue, 15 May 2012, Steven Rostedt wrote:
> > The code in ide_probe_port() does the following:
>
> Right, you just forgot to show the most interesting gem of that code:
>
> /*
> * We must always disable IRQ, as probe_for_drive will assert IRQ, but
> * we'll install our IRQ driver much later...
> */

Heh, I would have kept that, but I was more interested in cut and
pasting code than comments. I'll make sure to keep comments in emails
too.


> > if (irqd)
> > enable_irq(irqd);
>
> So this code is wrong and unsafe in various aspects. I wonder why it
> didn't blow up before. Maybe init ordering changed ....
>

Or it always did. This is on my main box that I reboot once every 100
days or so. I'm not usually present when the machine comes online, nor
do I search dmesg for warnings. Although, yesterday I did. This could
have been complaining from day one.


> I have an idea how to fix that proper. Will send out patches later.

I'll test them, but it's a bit of a pain, as it would require me
shutting down evolution, xchat, firefox, chrome and all my emacs
windows :-) This is why I don't reboot this box often.

-- Steve


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/