Re: de4x5 hangs aic7xxx, tulip misses port on multiport card

Gerard Roudier (groudier@club-internet.fr)
Wed, 21 Apr 1999 21:46:49 +0200 (MET DST)


On Wed, 21 Apr 1999, Brian Ristuccia wrote:

> Someone said the NCR driver uses SA_INTERRUPT instead of SA_SHIRQ. If you

He should have stopped to say that, unless he is still using boring
out-of-date Linux commercial distributions instead of (b)leading edge
linux material.
(Btw, the NCR driver use the SHIRQ flag since day one).

For ncr/sym driver updates:
ftp://ftp.tux.org/pub/roudier/drivers/linux/sym53c8xx

> read the de4x5 docs, it turns out the de4x5 driver has a workaround to
> reallocate that interrupt as a SA_SHIRQ on the behalf of an already loded
> SA_INTERRUPT based driver. It seems this workaround is flawed, since it
> breaks if it's twiddling the IRQ handler for an IRQ that's already shared by
> two devices. Thus, it hoses my SCSI card.
>
> I have no idea why this workaround occurs anyway, since my aic7xxx _should_
> be allocating a SA_SHIRQ unless there's a flaw at around line 7912 that's
> causing it to allocate a SA_INTERRUPT for additional cards (if this is even
> possible)

Linux was messed up for IRQ sharing due to the SCSI subsystem having
chosen SA_INTERRUPT at the beginning, and people who had implemented such
kind of stupid things you described (they called work-around) just added
shit to shit, in my opinion.

> If you want the same effect for the tulip driver, find SA_INTERRUPT in the
> source and change it to SA_SHIRQ and see if this works. I have no idea why
> this is not the default (aside from the relatively tiny performance penalty
> it incurs)

If you elect to change interrupt flags on a driver, you must ensure that
interrupt masking is fine for the new interrupt flags. For example, if you
remove the SA_INTERRUPT flag, you must check that the tampered driver does
mask interrupt when interrupts needs to be masked, or make appropriate
changes to the driver code.

Gérard.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/