+ sc->sc_blkno = a;
+ sc->sc_nxrec = a + 1;
+}
+
+tmreset(uban)
+ int uban;
+{
+ register struct uba_ctlr *um;
+ register tm11, teunit;
+ register struct uba_device *ui;
+ register struct buf *dp;
+
+ for (tm11 = 0; tm11 < NTM; tm11++) {
+ if ((um = tmminfo[tm11]) == 0 || um->um_alive == 0 ||
+ um->um_ubanum != uban)
+ continue;
+ printf(" tm%d", tm11);
+ um->um_tab.b_active = 0;
+ um->um_tab.b_actf = um->um_tab.b_actl = 0;
+ if (um->um_ubinfo) {
+ printf("<%d>", (um->um_ubinfo>>28)&0xf);
+ ubadone(um);
+ }
+ ((struct device *)(um->um_addr))->tmcs = TM_DCLR;
+ for (teunit = 0; teunit < NTE; teunit++) {
+ if ((ui = tedinfo[teunit]) == 0 || ui->ui_mi != um ||
+ ui->ui_alive == 0)
+ continue;
+ dp = &teutab[teunit];
+ dp->b_active = 0;
+ dp->b_forw = 0;
+ if (um->um_tab.b_actf == NULL)
+ um->um_tab.b_actf = dp;
+ else
+ um->um_tab.b_actl->b_forw = dp;
+ um->um_tab.b_actl = dp;
+ if (te_softc[teunit].sc_openf > 0)
+ te_softc[teunit].sc_openf = -1;
+ }
+ tmstart(um);
+ }