[patches 6/8] pcmcia: remove racy try_irq()
linux at dominikbrodowski.de
Tue Jan 11 17:42:32 EST 2005
On Tue, Jan 11, 2005 at 10:28:29PM +0000, Russell King wrote:
> On Tue, Jan 11, 2005 at 12:11:45PM -0800, David Hinds wrote:
> > I don't think this will work, unless you require that cards register a
> > handler at the time the interrupt is selected, which would break some
> > drivers (serial_cs, ide-cs at least). The kernel serial driver only
> > registers an interrupt when a port is in-use. So if you plug in two
> > PCMCIA serial cards, both will get the same interrupt assigned, unless
> > you change things around so that the serial interrupt handler is
> > registered at card insertion time.
> That's fine - the serial driver handles that situation perfectly well
> already - it knows how to share two 8250 ports on one interrupt line
> such that it works.
> Where it breaks down is if you have an 8250 device and some other
> device using the same (edge triggered) interrupt line simultaneously.
> There becomes situations in that case where you can't guarantee that
> you've released the interrupt line such that the next interrupt can
> be asserted.
In this case I'd think the user already has an
"exclude irq X"
line because of that breakage in /etc/pcmcia/config.opts, as if not, the
current design also wouldn't help.
More information about the linux-pcmcia