- if (sc->sc_recal)
- printf("recal CERR\n");
- rkerrs++; /* GROT */
- if (rkflags&1) /* GROT */
- printf("%d ds %o cs2 %o er %o\n", /* GROT */
- um->um_tab.b_errcnt, ds, cs2, er); /* GROT */
- if (er & RK_WLE)
- printf("rk%d is write locked\n", dkunit(bp));
-/* THIS DOESN'T SEEM TO HAPPEN */
-/* OR WAS SOMETHING BROKEN WHEN WE TRIED */
-/* SPINNING A DRIVE DOWN ? */
- if (ds & RKDS_HARD)
- printf("rk%d is down\n", dkunit(bp));
- if (++um->um_tab.b_errcnt > 28 ||
- ds&RKDS_HARD || er&RKER_HARD || cs2&RKCS2_HARD)
+ if (ds & RK_WLE) {
+ printf("rk%d: write locked\n", dkunit(bp));
+ bp->b_flags |= B_ERROR;
+ } else if (++um->um_tab.b_errcnt > 28 ||
+ ds&RKDS_HARD || er&RKER_HARD || cs2&RKCS2_HARD) {