tulip bug, alternative fix, #3 (tested)

Stephen R. van den Berg srb@cuci.nl
Sun Dec 12 18:04:43 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.