Re: [PATCH] PCI: Add pci shutdown ability

Grant Grundler
2005-04-26T16:40:53Z

On Tue, Apr 26, 2005 at 12:04:00PM -0400, Alan Stern wrote:
> > Sure there is. Every IRQ line goes to an IRQ controller.
> > Arch specific code deals with programming the controller and can
> > mask all interrupts (or not). Historically, they've been left unmasked
> > for ISA IRQ discovery and debugging misrouted IRQ lines.
>
> This doesn't help. Consider what happens when two devices share an IRQ
> line. Suppose device B is generating interrupt requests when the driver
> for device A is probed. The driver registers its handler, which causes
> the IRQ line to be unmasked. Then a multitude of IRQs arrive from B, none
> of which can be handled by A's driver. So the kernel shuts the IRQ line
> down permanently...

Agreed - but this is a different problem than "shutting down IRQs".
My point was arch specific code knows how to mask all IRQs.
irq_disable() is expected to work regardless of what state the
driver is in. On kexec "reboot", kernel drivers can unmask IRQs
as they normally would during initialization. No?

grant