Subject: modfified boca driver for usenet-ii card
To: None <port-i386@NetBSD.ORG>
From: James Vodanovich Jim <jim@arrakis.com.au>
List: port-i386
Date: 07/05/1996 00:09:58
I'm Running NetBSD-1.1

I have a 4 port board (usenet-ii) that is very similar
in operation to boca from looking at the boca driver and
the docs that came with the card. 

I have hacked (Netbsd-1.1) boca.c to support this card.



 All the ports work fine, but with constant traffic (pppd) two
lines the machine locks up, within 10 or 20 seconds (no reboot)

Is this a problem with the boca driver or have I screwed/missed
something.

bocaintr is the only change aside from number of ports wherever app.

iobase+0x07 interupt status register
0x55 mask out other status info not pertainent 
ie irq bits 0 2 4 6
bit 0 port 3
bit 6 port 0

bocaintr(arg)
        void *arg;
{  
        struct boca_softc *sc = arg;
        int iobase = sc->sc_iobase;
        int alive = sc->sc_alive;
        int bits;
        int m;
        int ibit;
        

        bits = inb(iobase | 0x07) & 0x55;


        if (bits == 0)
                return (0);

        for (;;) {
                ibit=1;
#define TRY(n) \
                if (bits & ibit & alive) \
                  { \
                        comintr(sc->sc_slaves[3-n]);}
                TRY(0);
                ibit<<=2;

                TRY(1);
                ibit<<=2;

                TRY(2);
                ibit<<=2;

                TRY(3);
#undef TRY
                bits = inb(iobase | 0x07) & 0x55;
                if (bits == 0)
                        return (1);
        }
}


Any help/ sugestion apreciated
Thanks in advance

----
James L Vodanovich			jim@arrakis.com.au 
Arrakis Internet Services		http://www.arrakis.com.au/
Sydney Australia			ph +61 2 310 7500