projects
/
unix-history
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
tags
|
clone url
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
BSD 4_3_Tahoe release
[unix-history]
/
usr
/
src
/
sys
/
vaxmba
/
mba.c
diff --git
a/usr/src/sys/vaxmba/mba.c
b/usr/src/sys/vaxmba/mba.c
index
b9dd60d
..
fa3c59c
100644
(file)
--- a/
usr/src/sys/vaxmba/mba.c
+++ b/
usr/src/sys/vaxmba/mba.c
@@
-1,9
+1,9
@@
/*
/*
- * Copyright (c) 1982
, 1986
Regents of the University of California.
+ * Copyright (c) 1982 Regents of the University of California.
* All rights reserved. The Berkeley software License Agreement
* specifies the terms and conditions for redistribution.
*
* All rights reserved. The Berkeley software License Agreement
* specifies the terms and conditions for redistribution.
*
- * @(#)mba.c 7.
1 (Berkeley) 6/5/86
+ * @(#)mba.c 7.
2 (Berkeley) 2/19/87
*/
#include "mba.h"
*/
#include "mba.h"
@@
-15,7
+15,7
@@
#include "param.h"
#include "systm.h"
#include "param.h"
#include "systm.h"
-#include "dk.h"
+#include "dk
stat
.h"
#include "buf.h"
#include "conf.h"
#include "dir.h"
#include "buf.h"
#include "conf.h"
#include "dir.h"
@@
-65,7
+65,7
@@
loop:
mi->mi_tab.b_active = 0;
mi->mi_tab.b_errcnt = 0;
mi->mi_tab.b_actf = bp->av_forw;
mi->mi_tab.b_active = 0;
mi->mi_tab.b_errcnt = 0;
mi->mi_tab.b_actf = bp->av_forw;
- iodone(bp);
+
b
iodone(bp);
goto loop;
case MBU_DODATA: /* all ready to do data transfer */
goto loop;
case MBU_DODATA: /* all ready to do data transfer */
@@
-130,6
+130,7
@@
mbstart(mhp)
struct buf *bp;
register struct mba_regs *mbp;
register int com;
struct buf *bp;
register struct mba_regs *mbp;
register int com;
+ extern int cold;
loop:
/*
loop:
/*
@@
-148,21
+149,25
@@
loop:
* Only check for non-tapes because tape drivers check
* ONLINE themselves and because TU78 registers are
* different.
* Only check for non-tapes because tape drivers check
* ONLINE themselves and because TU78 registers are
* different.
+ * No complaints during autoconfiguration,
+ * when we try to read disk labels from anything on line.
*/
if (((com = mi->mi_drv->mbd_dt) & MBDT_TAP) == 0)
if ((mi->mi_drv->mbd_ds & MBDS_DREADY) != MBDS_DREADY) {
*/
if (((com = mi->mi_drv->mbd_dt) & MBDT_TAP) == 0)
if ((mi->mi_drv->mbd_ds & MBDS_DREADY) != MBDS_DREADY) {
- if ((com & MBDT_TYPE) == 0) {
+ if (!cold) {
+ if ((com & MBDT_TYPE) == 0) {
mi->mi_alive = 0;
printf("%s%d: nonexistent\n", mi->mi_driver->md_dname,
mbunit(bp->b_dev));
mi->mi_alive = 0;
printf("%s%d: nonexistent\n", mi->mi_driver->md_dname,
mbunit(bp->b_dev));
- } else
+
} else
printf("%s%d: not ready\n", mi->mi_driver->md_dname,
mbunit(bp->b_dev));
printf("%s%d: not ready\n", mi->mi_driver->md_dname,
mbunit(bp->b_dev));
+ }
mi->mi_tab.b_actf = bp->av_forw;
mi->mi_tab.b_errcnt = 0;
mi->mi_tab.b_active = 0;
bp->b_flags |= B_ERROR;
mi->mi_tab.b_actf = bp->av_forw;
mi->mi_tab.b_errcnt = 0;
mi->mi_tab.b_active = 0;
bp->b_flags |= B_ERROR;
- iodone(bp);
+
b
iodone(bp);
goto loop;
}
/*
goto loop;
}
/*
@@
-256,7
+261,7
@@
mbintr(mbanum)
*/
mi->mi_tab.b_errcnt = 0;
mi->mi_tab.b_actf = bp->av_forw;
*/
mi->mi_tab.b_errcnt = 0;
mi->mi_tab.b_actf = bp->av_forw;
- iodone(bp);
+
b
iodone(bp);
/* fall into... */
case MBD_RETRY: /* attempt the operation again */
/*
/* fall into... */
case MBD_RETRY: /* attempt the operation again */
/*
@@
-335,7
+340,7
@@
mbintr(mbanum)
mi->mi_tab.b_errcnt = 0;
bp = mi->mi_tab.b_actf;
mi->mi_tab.b_actf = bp->av_forw;
mi->mi_tab.b_errcnt = 0;
bp = mi->mi_tab.b_actf;
mi->mi_tab.b_actf = bp->av_forw;
- iodone(bp);
+
b
iodone(bp);
/* fall into common code */
case MBN_RETRY: /* operation continues */
if (mi->mi_tab.b_actf)
/* fall into common code */
case MBN_RETRY: /* operation continues */
if (mi->mi_tab.b_actf)