- if (dh_ubinfo[ui->ui_ubanum] == 0) {
- /* 512+ is a kludge to try to get around a hardware problem */
- dh_ubinfo[ui->ui_ubanum] =
- uballoc(ui->ui_ubanum, (caddr_t)cfree,
- 512+nclist*sizeof(struct cblock), 0);
- cbase[ui->ui_ubanum] = dh_ubinfo[ui->ui_ubanum]&0x3ffff;
+ if (cbase[ui->ui_ubanum] == -1) {
+ dh_uballoc[ui->ui_ubanum] = dh;
+ cbase[ui->ui_ubanum] = UBAI_ADDR(uballoc(ui->ui_ubanum,
+ (caddr_t)cfree, nclist*sizeof(struct cblock), 0));