Re: [PATCH] bug w/ shared interrupts

From: David Mosberger <davidm_at_napali.hpl.hp.com>
Date: 2004-04-27 07:12:38
>>>>> On Mon, 26 Apr 2004 08:29:00 -0600, Alex Williamson <alex.williamson@hp.com> said:

  Alex>    I just ran into a bug introduced by cset 1.1371.519.37.

Note that cset numbers are not globally unique.  Since you didn't specify
which repository you used, I'm not sure which cset you're referring to.
To get a globally unique cset id, you can use:

  $ bk changes -k -r1.1371.519.37

I believe you're referring to:

  kaneshige.kenji@jp.fujitsu.com|ChangeSet|20040412205820|04778

Correct?

  Alex> The scenario is a builtin driver is up and running happily.  A
  Alex> module loads for a devices that happens to share the same
  Alex> interrupt vector, in this case a network driver.  The module
  Alex> calls pci_enable_device() as it should, which eventually lands
  Alex> in iosapic_enable_intr().  We then proceed to mask the
  Alex> interrupt and kill the device that's already running.  As a
  Alex> bonus, request_interrupt() doesn't fix the problem because we
  Alex> only call the startup for the interrupt handler on the first
  Alex> action attached to the interrupt.

  Alex>    I think the best way out of this is simply to detect when
  Alex> an action is already attached to a vector and leave it alone.
  Alex> This also prevents interrupts from moving to other cpus (on
  Alex> boxes w/o irq redirection) for no good reason.

Sounds reasonable to me.  I do think that iosapic_enable_intr() is
misnamed now that it actually leaves the interrupt _masked_.  What
it's really doing now is that it asserts that the I/O SAPIC routine is
programmed to a correct/working value.  It would be good to fix that
when changing the corresponding code in drivers/acpi/pci_irq.c.  IIRC,
Bjorn already has patches which touch on that file.  If so, could you
do a rename at the same time, Bjorn?

	--david
-
To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Received on Mon Apr 26 17:19:26 2004

This archive was generated by hypermail 2.1.8 : 2005-08-02 09:20:25 EST