+ if (mi == NULL || mi->mi_alive == 0) {
+ struct mba_device fnd;
+ struct mba_drv *mbd = &mhp->mh_mba->mba_drv[drive];
+ int dt = mbd->mbd_dt & 0xffff;
+
+ if (dt == 0 || dt == MBDT_MOH)
+ continue;
+ fnd.mi_mba = mhp->mh_mba;
+ fnd.mi_mbanum = mbanum;
+ fnd.mi_drive = drive;
+ if ((mi = mbaconfig(&fnd, dt)) == NULL)
+ continue;
+ /*
+ * If a tape, poke the slave attach routines.
+ * Otherwise, could be a disk which we want
+ * to swap on, so make a pass over the swap
+ * configuration table in case the size of
+ * the swap area must be determined by drive type.
+ */
+ if (dt & MBDT_TAP)
+ mbaddtape(mi, drive);
+ else
+ swapconf();
+ }