diff options
Diffstat (limited to 'sys/dev/ic/trm.c')
-rw-r--r-- | sys/dev/ic/trm.c | 14 |
1 files changed, 3 insertions, 11 deletions
diff --git a/sys/dev/ic/trm.c b/sys/dev/ic/trm.c index 29ce4b7a3f0..460a904e314 100644 --- a/sys/dev/ic/trm.c +++ b/sys/dev/ic/trm.c @@ -1,4 +1,4 @@ -/* $OpenBSD: trm.c,v 1.19 2010/05/19 15:27:35 oga Exp $ +/* $OpenBSD: trm.c,v 1.20 2010/06/19 21:43:16 krw Exp $ * ------------------------------------------------------------ * O.S : OpenBSD * File Name : trm.c @@ -354,18 +354,14 @@ trm_scsi_cmd(struct scsi_xfer *xs) printf("%s: target=%d >= %d\n", sc->sc_device.dv_xname, target, TRM_MAX_TARGETS); xs->error = XS_DRIVER_STUFFUP; - intflag = splbio(); scsi_done(xs); - splx(intflag); return; } if (lun >= TRM_MAX_LUNS) { printf("%s: lun=%d >= %d\n", sc->sc_device.dv_xname, lun, TRM_MAX_LUNS); xs->error = XS_DRIVER_STUFFUP; - intflag = splbio(); scsi_done(xs); - splx(intflag); return; } @@ -373,9 +369,7 @@ trm_scsi_cmd(struct scsi_xfer *xs) if (pDCB == NULL) { /* Removed as a result of INQUIRY proving no device present */ xs->error = XS_DRIVER_STUFFUP; - intflag = splbio(); scsi_done(xs); - splx(intflag); return; } @@ -386,9 +380,7 @@ trm_scsi_cmd(struct scsi_xfer *xs) #endif trm_reset(sc); xs->error = XS_NOERROR; - intflag = splbio(); scsi_done(xs); - splx(intflag); return; } @@ -401,9 +393,9 @@ trm_scsi_cmd(struct scsi_xfer *xs) pSRB = trm_GetFreeSRB(sc); if (pSRB == NULL) { + splx(intflag); xs->error = XS_NO_CCB; scsi_done(xs); - splx(intflag); return; } @@ -432,8 +424,8 @@ trm_scsi_cmd(struct scsi_xfer *xs) * free SRB */ TAILQ_INSERT_HEAD(&sc->freeSRB, pSRB, link); - scsi_done(xs); splx(intflag); + scsi_done(xs); return; } |