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