[patches 6/8] pcmcia: remove racy try_irq()

Russell King rmk+pcmcia at arm.linux.org.uk
Tue Jan 11 17:28:29 EST 2005

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.

Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:  2.6 PCMCIA      - http://pcmcia.arm.linux.org.uk/
                 2.6 Serial core

More information about the linux-pcmcia mailing list