diff options
-rw-r--r-- | sys/dev/mcd/mcd.c | 8 | ||||
-rw-r--r-- | sys/dev/scd/scd.c | 4 |
2 files changed, 6 insertions, 6 deletions
diff --git a/sys/dev/mcd/mcd.c b/sys/dev/mcd/mcd.c index 094eda8..b117cf7 100644 --- a/sys/dev/mcd/mcd.c +++ b/sys/dev/mcd/mcd.c @@ -909,7 +909,7 @@ nextblock: hsg2msf(blknum,rbuf.start_msf); retry_read: /* send the read command */ - disable_intr(); + critical_enter(); MCD_WRITE(sc, MCD_REG_COMMAND, sc->data.read_command); MCD_WRITE(sc, MCD_REG_COMMAND, rbuf.start_msf[0]); MCD_WRITE(sc, MCD_REG_COMMAND, rbuf.start_msf[1]); @@ -917,7 +917,7 @@ retry_read: MCD_WRITE(sc, MCD_REG_COMMAND, 0); MCD_WRITE(sc, MCD_REG_COMMAND, 0); MCD_WRITE(sc, MCD_REG_COMMAND, 1); - enable_intr(); + critical_exit(); /* Spin briefly (<= 2ms) to avoid missing next block */ for (i = 0; i < 20; i++) { @@ -1547,7 +1547,7 @@ mcd_play(struct mcd_softc *sc, struct mcd_read2 *pb) sc->data.lastpb = *pb; for(retry=0; retry<MCD_RETRYS; retry++) { - disable_intr(); + critical_enter(); MCD_WRITE(sc, MCD_REG_COMMAND, MCD_CMDSINGLESPEEDREAD); MCD_WRITE(sc, MCD_REG_COMMAND, pb->start_msf[0]); MCD_WRITE(sc, MCD_REG_COMMAND, pb->start_msf[1]); @@ -1555,7 +1555,7 @@ mcd_play(struct mcd_softc *sc, struct mcd_read2 *pb) MCD_WRITE(sc, MCD_REG_COMMAND, pb->end_msf[0]); MCD_WRITE(sc, MCD_REG_COMMAND, pb->end_msf[1]); MCD_WRITE(sc, MCD_REG_COMMAND, pb->end_msf[2]); - enable_intr(); + critical_exit(); status=mcd_getstat(sc, 0); if (status == -1) diff --git a/sys/dev/scd/scd.c b/sys/dev/scd/scd.c index fb91ddd..dfa13bb 100644 --- a/sys/dev/scd/scd.c +++ b/sys/dev/scd/scd.c @@ -827,7 +827,7 @@ writeparam: } /* send the read command */ - disable_intr(); + critical_enter(); SCD_WRITE(sc, OREG_WPARAMS, sdata[0]); SCD_WRITE(sc, OREG_WPARAMS, sdata[1]); SCD_WRITE(sc, OREG_WPARAMS, sdata[2]); @@ -835,7 +835,7 @@ writeparam: SCD_WRITE(sc, OREG_WPARAMS, 0); SCD_WRITE(sc, OREG_WPARAMS, 1); SCD_WRITE(sc, OREG_COMMAND, CMD_READ); - enable_intr(); + critical_exit(); mbx->count = RDELAY_WAITREAD; for (i = 0; i < 50; i++) { |