[ia64 R&D] Re: [openib-general] disable_irq WARN_ON

Matthew Wilcox willy at fc.hp.com
Thu Jan 13 09:03:00 PST 2005


On Thu, Jan 13, 2005 at 08:31:55AM -0800, Grant Grundler wrote:
> On Thu, Jan 13, 2005 at 07:57:52AM -0800, Roland Dreier wrote:
> >     Andras> However, when I put a card in an rx4640 (four-way thing,
> >     Andras> same ZX1 chipset as the 2600 ) I got an oops upon
> >     Andras> modprobe. This is 2.6.10-mm2 (I've compared some diffs
> >     Andras> with 11-rc1 and nothing relevant seems to have changed).
> ...
> > I'm not sure what's going on.  mthca_init_one() is bailing out and
> > disabling the device on the way out, and iosapic_unregister_intr() is
> > warning (not actually an oops, just WARN_ON(1)) because it can't find
> > a valid IRQ number.
> 
> I suspect this is a result of mthca_init_one bailing WITHOUT
> having succesfully called request_irq().

I don't think that's possible.  Seems to me that free_irq() is only
called for irqs that have been successfully requested.  Look at how
mthca_free_irqs() and mthca_init_eq_table() interact with the have_irq
flags.

The iosapic_unregister_intr() function is brand new, so I would expect
that to be buggy, not the driver.  I'm not sure who is responsible
for the CONFIG_ACPI_DEALLOCATE_IRQ; someone at Intel, I think.

-- 
It's always legal to use Linux (TM) systems
http://www.gnu.org/philosophy/why-free.html



More information about the general mailing list