tulip bug, alternative fix, #3 (tested)
Stephen R. van den Berg
srb@cuci.nl
Sun Dec 12 18:04:42 1999
Wolfgang Walter wrote:
>The to-much-work-handling had serveral problems. Especially it acknowledged
>interrupts and disabled the last one occured. This was the reason for
>permanent tx-hangs (probably tx-interrupts could be acknowlegded without
>beeing handled).
Ok, makes sense.
>> /* Acknowledge all interrupt sources. */
>> outl(0x8001ffff, ioaddr + CSR5);
>This will not work. You must remove the else-tree.
I presume that the outl(0x8001ffff, ioaddr + CSR5); needs to be dropped
in that case as well?
>1. You switch of interrupts and never switch them on again:
>2. Switching of interrupts was the problem because some people observed.
Ok, that proves that I didn't actually check what the IO-commands did :-).
>HAS_INTR_MITIGATION is probably a good method.
To be completely honest, I'm not even sure what it does; haven't looked
at the 21143 data sheet yet.
--
Sincerely, srb@cuci.nl
Stephen R. van den Berg (AKA BuGless).
Climate is what you expect. Weather is what you get.