On Sat, 15 Jun 2002, Linus Torvalds wrote:
>
> Right now the solution to a screaming device can be something as nasty as
>
> cli();
> pci_enable_device();
> disable_irq(dev->irq);
> sti();
>
> /* IRQ handling needs this ioremapped */
> membase = ioremap(dev->resource[]);
> request_irq(dev->irq);
>
> /* Now we can enable the irq, because we have a valid handler */
> enable_irq(dev->irq);
Side note: the other approach to screaming devices is to pray that they
don't happen.
Which is actually the approach Linux takes, and which tends to work
reasonably well. All PCI devices reset without pending interrupts, and
probably windows doesn't react well to the bios doing something stupid.
But it's actually happened for pcmcia depending on init order (and right
now linux pcmcia is just fairly careful about the ordering).
Linus
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Sat Jun 15 2002 - 22:00:33 EST