X-Git-Url: https://git.subgeniuskitty.com/unix-history/.git/blobdiff_plain/a2cd4df767910f9e0027c19e429d75826e5eb021..bcb5db7dccf77bd0551eea04b8f170b92c6143bc:/usr/src/sys/vax/if/if_acc.c diff --git a/usr/src/sys/vax/if/if_acc.c b/usr/src/sys/vax/if/if_acc.c index ab84f9fa1b..4c4e8d772e 100644 --- a/usr/src/sys/vax/if/if_acc.c +++ b/usr/src/sys/vax/if/if_acc.c @@ -1,4 +1,4 @@ -/* if_acc.c 4.3 82/02/12 */ +/* if_acc.c 4.5 82/02/21 */ #include "acc.h" #ifdef NACC > 0 @@ -223,15 +223,12 @@ accstart(dev) dev_t dev; { int unit = ACCUNIT(dev), info; - struct uba_device *ui = accinfo[unit]; register struct acc_softc *sc = &acc_softc[unit]; register struct accdevice *addr; struct mbuf *m; - struct imp_leader *ip; u_short cmd; COUNT(ACCSTART); -printf("accstart: active=%d\n", sc->acc_ic->ic_oactive); if (sc->acc_ic->ic_oactive) goto restart; @@ -241,13 +238,11 @@ printf("accstart: active=%d\n", sc->acc_ic->ic_oactive); * requeusts, just return. */ IF_DEQUEUE(&sc->acc_if->if_snd, m); -printf("accstart: dequeue m=%x\n", m); if (m == 0) { sc->acc_ic->ic_oactive = 0; return; } sc->acc_olen = if_wubaput(&sc->acc_ifuba, m); -printf("accstart: olen=%d\n", sc->acc_olen); restart: /* @@ -256,7 +251,7 @@ restart: */ if (sc->acc_ifuba.ifu_flags & UBA_NEEDBDP) UBAPURGE(sc->acc_ifuba.ifu_uba, sc->acc_ifuba.ifu_w.ifrw_bdp); - addr = (struct accdevice *)ui->ui_addr; + addr = (struct accdevice *)accinfo[unit]->ui_addr; info = sc->acc_ifuba.ifu_w.ifrw_info; addr->oba = (u_short)info; addr->owc = -((sc->acc_olen + 1) >> 1); @@ -273,7 +268,6 @@ restart: */ accxint(unit) { - register struct uba_device *ui = accinfo[unit]; register struct acc_softc *sc = &acc_softc[unit]; register struct accdevice *addr; @@ -282,8 +276,7 @@ COUNT(ACCXINT); printf("acc%d: stray xmit interrupt\n", unit); return; } - addr = (struct accdevice *)ui->ui_addr; -printf("accxint: ocsr=%b\n", addr->ocsr, ACC_OUTBITS); + addr = (struct accdevice *)accinfo[unit]->ui_addr; sc->acc_if->if_opackets++; sc->acc_ic->ic_oactive = 0; if (addr->ocsr & ACC_ERR) { @@ -295,9 +288,8 @@ printf("accxint: ocsr=%b\n", addr->ocsr, ACC_OUTBITS); m_freem(sc->acc_ifuba.ifu_xtofree); sc->acc_ifuba.ifu_xtofree = 0; } - if (sc->acc_if->if_snd.ifq_head == 0) - return; - accstart(unit); + if (sc->acc_if->if_snd.ifq_head) + accstart(unit); } /* @@ -320,7 +312,6 @@ COUNT(ACCRINT); if (sc->acc_ifuba.ifu_flags & UBA_NEEDBDP) UBAPURGE(sc->acc_ifuba.ifu_uba, sc->acc_ifuba.ifu_r.ifrw_bdp); addr = (struct accdevice *)accinfo[unit]->ui_addr; -printf("accrint: icsr=%b, flush=%d\n", addr->icsr, ACC_INBITS, sc->acc_flush); if (addr->icsr & ACC_ERR) { printf("acc%d: input error, csr=%b\n", unit, addr->icsr, ACC_INBITS); @@ -334,7 +325,6 @@ printf("accrint: icsr=%b, flush=%d\n", addr->icsr, ACC_INBITS, sc->acc_flush); goto setup; } len = IMP_MTU + (addr->iwc << 1); -printf("accrint: len=%d\n", len); if (len < 0 || len > IMP_MTU) { printf("acc%d: bad length=%d\n", len); sc->acc_if->if_ierrors++; @@ -346,7 +336,6 @@ printf("accrint: len=%d\n", len); * trailers on the ARPAnet is insane. */ m = if_rubaget(&sc->acc_ifuba, len, 0); -printf("accrint: m=%x\n", m); if (m == 0) goto setup; if ((addr->icsr & IN_EOM) == 0) { @@ -356,8 +345,8 @@ printf("accrint: m=%x\n", m); sc->acc_iq = m; goto setup; } - /* adjust message length for padding. */ #ifdef notdef + /* adjust message length for padding. */ m->m_len -= 2; #endif if (sc->acc_iq) {