diff options
author | non <non@FreeBSD.org> | 2001-07-14 00:38:51 +0000 |
---|---|---|
committer | non <non@FreeBSD.org> | 2001-07-14 00:38:51 +0000 |
commit | e91272502526170cc4f62c2357a8b7d3ee9b2c27 (patch) | |
tree | 01f4c48045db66f0e363a543a36a88e13470d6c9 /sys/dev/stg/tmc18c30_isa.c | |
parent | a67c5263965b3cce0db11089854bd6f3f56f2f8e (diff) | |
download | FreeBSD-src-e91272502526170cc4f62c2357a8b7d3ee9b2c27.zip FreeBSD-src-e91272502526170cc4f62c2357a8b7d3ee9b2c27.tar.gz |
Catch up with NetBSD/pc98.
o Much cleanly separate NetBSD(XS) / FreeBSD(CAM) codes.
o Improve tagged queing support (full QTAG).
o Improve quirk support.
o Improve parity error retry.
o Impliment wide negotheation.
o Cmd link support.
o Add copyright of CAM part.
o Change for CAM_NEW_TRAN_CODE.
o Work around for buggy KME UJDCD450.
o stg: add disconnet condition.
o nsp: use suspend I/O.
and more. I thank Honda-san.
conf/options.pc98: add CT_USE_RELOCATE_OFFSET and CT_BUS_WEIGHT
dev/{ct,ncv,nsp,stg}/*_{pccard,isa}.c: add splcam() before calling
attach/detach functions.
Tested by: bsd-nomads
Obtained from: NetBSD/pc98
Diffstat (limited to 'sys/dev/stg/tmc18c30_isa.c')
-rw-r--r-- | sys/dev/stg/tmc18c30_isa.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/sys/dev/stg/tmc18c30_isa.c b/sys/dev/stg/tmc18c30_isa.c index 53df893..21e9361 100644 --- a/sys/dev/stg/tmc18c30_isa.c +++ b/sys/dev/stg/tmc18c30_isa.c @@ -237,10 +237,13 @@ static void stg_isa_unload(device_t devi) { struct stg_softc *sc = device_get_softc(devi); + intrmask_t s; printf("%s: unload\n",sc->sc_sclow.sl_xname); + s = splcam(); scsi_low_deactivate((struct scsi_low_softc *)sc); scsi_low_dettach(&sc->sc_sclow); + splx(s); } static int @@ -263,7 +266,7 @@ stgattach(device_t devi) struct scsi_low_softc *slp; u_int32_t flags = device_get_flags(devi); u_int iobase = bus_get_resource_start(devi, SYS_RES_IOPORT, 0); - + intrmask_t s; char dvname[16]; strcpy(dvname,"stg"); @@ -288,9 +291,9 @@ stgattach(device_t devi) slp->sl_hostid = STG_HOSTID; slp->sl_cfgflags = flags; + s = splcam(); stgattachsubr(sc); - - sc->sc_ih = stgintr; + splx(s); return(STGIOSZ); } |