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

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


On Wed, Jan 12, 2005 at 09:29:52AM -0800, David Hinds wrote:
> On Wed, Jan 12, 2005 at 08:54:49AM +0000, Russell King wrote:
> > 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 may work with some cards, but electrically, ISA interrupt lines
> are not designed to have multiple drivers, and setting things up this
> way may cause neither card to be able to trigger an interrupt, or
> worse.
> 
> http://www.dirac.org/linux/misc/interrupt_sharing.html

I find it most interesting that you decided to cut out the bit of my
message where I covered this explicitly:

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

There are cards available commercially which allow you throw multiples
of them into a machine and have 16 or more ports (across 2 cards) all
on the same interrupt line.

("allow" in the previous paragraph means "can be configured and has
been designed to work")

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