diff options
Diffstat (limited to 'sys/scsi')
-rw-r--r-- | sys/scsi/cd.c | 7 | ||||
-rw-r--r-- | sys/scsi/scsi_base.c | 4 | ||||
-rw-r--r-- | sys/scsi/sd.c | 7 | ||||
-rw-r--r-- | sys/scsi/ss.c | 7 | ||||
-rw-r--r-- | sys/scsi/ss_mustek.c | 7 | ||||
-rw-r--r-- | sys/scsi/ss_scanjet.c | 7 | ||||
-rw-r--r-- | sys/scsi/st.c | 7 |
7 files changed, 25 insertions, 21 deletions
diff --git a/sys/scsi/cd.c b/sys/scsi/cd.c index b93486e61ab..3f49a9a1e5c 100644 --- a/sys/scsi/cd.c +++ b/sys/scsi/cd.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cd.c,v 1.164 2010/02/28 21:17:00 krw Exp $ */ +/* $OpenBSD: cd.c,v 1.165 2010/04/12 09:51:48 dlg Exp $ */ /* $NetBSD: cd.c,v 1.100 1997/04/02 02:29:30 mycroft Exp $ */ /* @@ -683,9 +683,8 @@ cd_buf_done(struct scsi_xfer *xs) { struct cd_softc *sc = xs->sc_link->device_softc; struct buf *bp = xs->cookie; + int s; - splassert(IPL_BIO); - switch (xs->error) { case XS_NOERROR: bp->b_error = 0; @@ -733,7 +732,9 @@ retry: disk_unbusy(&sc->sc_dk, bp->b_bcount - xs->resid, bp->b_flags & B_READ); + s = splbio(); biodone(bp); + splx(s); scsi_xs_put(xs); cdstart(sc); /* restart io */ } diff --git a/sys/scsi/scsi_base.c b/sys/scsi/scsi_base.c index 939cc22d502..76277c7a874 100644 --- a/sys/scsi/scsi_base.c +++ b/sys/scsi/scsi_base.c @@ -1,4 +1,4 @@ -/* $OpenBSD: scsi_base.c,v 1.168 2010/04/06 00:58:00 dlg Exp $ */ +/* $OpenBSD: scsi_base.c,v 1.169 2010/04/12 09:51:48 dlg Exp $ */ /* $NetBSD: scsi_base.c,v 1.43 1997/04/02 02:29:36 mycroft Exp $ */ /* @@ -1102,8 +1102,6 @@ scsi_xs_exec(struct scsi_xfer *xs) void scsi_done(struct scsi_xfer *xs) { - splassert(IPL_BIO); - #ifdef SCSIDEBUG if (xs->sc_link->flags & SDEV_DB1) { if (xs->datalen && (xs->flags & SCSI_DATA_IN)) diff --git a/sys/scsi/sd.c b/sys/scsi/sd.c index a36d03ca9ed..a6d9ba5adab 100644 --- a/sys/scsi/sd.c +++ b/sys/scsi/sd.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sd.c,v 1.183 2010/04/06 00:59:50 dlg Exp $ */ +/* $OpenBSD: sd.c,v 1.184 2010/04/12 09:51:48 dlg Exp $ */ /* $NetBSD: sd.c,v 1.111 1997/04/02 02:29:41 mycroft Exp $ */ /*- @@ -728,8 +728,7 @@ sd_buf_done(struct scsi_xfer *xs) { struct sd_softc *sc = xs->sc_link->device_softc; struct buf *bp = xs->cookie; - - splassert(IPL_BIO); + int s; switch (xs->error) { case XS_NOERROR: @@ -778,7 +777,9 @@ retry: disk_unbusy(&sc->sc_dk, bp->b_bcount - xs->resid, bp->b_flags & B_READ); + s = splbio(); biodone(bp); + splx(s); scsi_xs_put(xs); } diff --git a/sys/scsi/ss.c b/sys/scsi/ss.c index 10d030cc770..3eb378bd312 100644 --- a/sys/scsi/ss.c +++ b/sys/scsi/ss.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ss.c,v 1.70 2010/01/15 05:50:31 krw Exp $ */ +/* $OpenBSD: ss.c,v 1.71 2010/04/12 09:51:48 dlg Exp $ */ /* $NetBSD: ss.c,v 1.10 1996/05/05 19:52:55 christos Exp $ */ /* @@ -682,8 +682,7 @@ ssdone(struct scsi_xfer *xs) { struct ss_softc *ss = xs->sc_link->device_softc; struct buf *bp = xs->cookie; - - splassert(IPL_BIO); + int s; switch (xs->error) { case XS_NOERROR: @@ -727,7 +726,9 @@ retry: break; } + s = splbio(); biodone(bp); + splx(s); scsi_xs_put(xs); } diff --git a/sys/scsi/ss_mustek.c b/sys/scsi/ss_mustek.c index ee3b42b9f4a..47899c45fa4 100644 --- a/sys/scsi/ss_mustek.c +++ b/sys/scsi/ss_mustek.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ss_mustek.c,v 1.20 2010/01/15 05:50:31 krw Exp $ */ +/* $OpenBSD: ss_mustek.c,v 1.21 2010/04/12 09:51:48 dlg Exp $ */ /* $NetBSD: ss_mustek.c,v 1.4 1996/05/05 19:52:57 christos Exp $ */ /* @@ -472,8 +472,7 @@ mustek_read_done(struct scsi_xfer *xs) { struct ss_softc *ss = xs->sc_link->device_softc; struct buf *bp = xs->cookie; - - splassert(IPL_BIO); + int s; switch (xs->error) { case XS_NOERROR: @@ -521,7 +520,9 @@ retry: break; } + s = splbio(); biodone(bp); + splx(s); scsi_xs_put(xs); } diff --git a/sys/scsi/ss_scanjet.c b/sys/scsi/ss_scanjet.c index 313a281e52f..1a63981ca0f 100644 --- a/sys/scsi/ss_scanjet.c +++ b/sys/scsi/ss_scanjet.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ss_scanjet.c,v 1.37 2010/01/15 05:50:31 krw Exp $ */ +/* $OpenBSD: ss_scanjet.c,v 1.38 2010/04/12 09:51:48 dlg Exp $ */ /* $NetBSD: ss_scanjet.c,v 1.6 1996/05/18 22:58:01 christos Exp $ */ /* @@ -309,8 +309,7 @@ scanjet_read_done(struct scsi_xfer *xs) { struct ss_softc *ss = xs->sc_link->device_softc; struct buf *bp = xs->cookie; - - splassert(IPL_BIO); + int s; switch (xs->error) { case XS_NOERROR: @@ -359,7 +358,9 @@ retry: break; } + s = splbio(); biodone(bp); + splx(s); scsi_xs_put(xs); } diff --git a/sys/scsi/st.c b/sys/scsi/st.c index 96878b51f35..c53129ce6b0 100644 --- a/sys/scsi/st.c +++ b/sys/scsi/st.c @@ -1,4 +1,4 @@ -/* $OpenBSD: st.c,v 1.93 2010/01/15 05:50:31 krw Exp $ */ +/* $OpenBSD: st.c,v 1.94 2010/04/12 09:51:48 dlg Exp $ */ /* $NetBSD: st.c,v 1.71 1997/02/21 23:03:49 thorpej Exp $ */ /* @@ -1088,8 +1088,7 @@ st_buf_done(struct scsi_xfer *xs) { struct st_softc *st = xs->sc_link->device_softc; struct buf *bp = xs->cookie; - - splassert(IPL_BIO); + int s; switch (xs->error) { case XS_NOERROR: @@ -1133,7 +1132,9 @@ retry: break; } + s = splbio(); biodone(bp); + splx(s); scsi_xs_put(xs); ststart(st); /* restart io */ } |