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

Russell King rmk+pcmcia at arm.linux.org.uk
Wed Jan 12 03:54:49 EST 2005


On Tue, Jan 11, 2005 at 04:42:20PM -0800, David Hinds wrote:
> On Tue, Jan 11, 2005 at 10:28:29PM +0000, Russell King wrote:
> > 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.
> 
> I believe that this only handles the case where two 8250 ports on the
> same card share an interrupt, where the card includes some logic to
> buffer the interrupts before they hit the bus.  It cannot handle the
> case where ports on different cards are sharing.

It does handle this case - it doesn't care whether the ports are on the
same card or not.  It loops over all 8250 ports on the same interrupt
until they've *all* reported that they aren't asserting an interrupt
request.  This way, we can be sure that the ISA interrupt line has
returned to "normal" such that another interrupt is possible.

This is something which the serial driver has always supported (provided
the hardware doesn't cause contention on the interrupt line.)

Note that I'm not saying that a serial and net device sharing the same
ISA interrupt line will work reliably - I doubt it will.

-- 
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