register struct acc_softc *sc;
register struct uba_device *ui;
register struct accdevice *addr;
register struct acc_softc *sc;
register struct uba_device *ui;
register struct accdevice *addr;
* would asssume we handle it on input and output.
*/
if (if_ubainit(&sc->acc_ifuba, ui->ui_ubanum, 0,
* would asssume we handle it on input and output.
*/
if (if_ubainit(&sc->acc_ifuba, ui->ui_ubanum, 0,
addr->icsr = ACC_RESET; DELAY(5000);
addr->ocsr = ACC_RESET; DELAY(5000);
addr->ocsr = OUT_BBACK; DELAY(5000); /* reset host master ready */
addr->ocsr = 0;
addr->icsr = ACC_RESET; DELAY(5000);
addr->ocsr = ACC_RESET; DELAY(5000);
addr->ocsr = OUT_BBACK; DELAY(5000); /* reset host master ready */
addr->ocsr = 0;
- if (x <= 0) {
- printf("acc%d: imp doesn't respond, icsr=%b\n", unit,
- addr->icsr, ACC_INBITS);
- goto down;
- }
+ printf("acc%d: imp doesn't respond, icsr=%b\n", unit,
+ addr->icsr, ACC_INBITS);
+down:
+ ui->ui_alive = 0;
+ return (0);
/*
* Put up a read. We can't restart any outstanding writes
* until we're back in synch with the IMP (i.e. we've flushed
* the NOOPs it throws at us).
/*
* Put up a read. We can't restart any outstanding writes
* until we're back in synch with the IMP (i.e. we've flushed
* the NOOPs it throws at us).
printf("acc%d: bad length=%d\n", len);
sc->acc_if->if_ierrors++;
goto setup;
printf("acc%d: bad length=%d\n", len);
sc->acc_if->if_ierrors++;
goto setup;