Port-vax archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: KA655 Kernel Compile and Corrupt Object Files



> The "qe0: xmit logic dies, resetting..." is something I've seen on
> lots of VAXen with different controllers, so I doubt that is
> relevant.  I don't know what triggers the message.  Never dove into
> it.

I had a look.  While I'm not sure, I suspect the intent is to kick
DEQNAs whose transmit logic has wedged.  Here's what 1.4T does; 5.2 is
very similar (for example, it calls aprint_error_dev instead of
printf), but it looks basically the same to me.

static  void    qetimeout __P((struct ifnet *));
...
void
qeattach(parent, self, aux)
        struct  device *parent, *self;
        void    *aux;
{
...
        ifp->if_watchdog = qetimeout;
...
}
...
/*
 * Check for dead transmit logic. Not uncommon.
 */
void
qetimeout(ifp)
        struct ifnet *ifp;
{
        struct qe_softc *sc = ifp->if_softc;

        if (sc->sc_inq == 0)
                return;

        printf("%s: xmit logic died, resetting...\n", sc->sc_dev.dv_xname);
        /*
         * Do a reset of interface, to get it going again.
         * Will it work by just restart the transmit logic?
         */
        qeinit(sc);
}

It looks to me as though this simply resets the interface if there's
anything pending when if_slowtimo runs (and decides to call the
interface's if_watchdog).  This is probably why I get the message even
under emulation; nothing keeps if_slowtimo from running when there's a
packet pending.

/~\ The ASCII				  Mouse
\ / Ribbon Campaign
 X  Against HTML		mouse%rodents-montreal.org@localhost
/ \ Email!	     7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B


Home | Main Index | Thread Index | Old Index