summaryrefslogtreecommitdiffstats
path: root/sys/dev/stg/tmc18c30_isa.c
diff options
context:
space:
mode:
authornon <non@FreeBSD.org>2001-07-14 00:38:51 +0000
committernon <non@FreeBSD.org>2001-07-14 00:38:51 +0000
commite91272502526170cc4f62c2357a8b7d3ee9b2c27 (patch)
tree01f4c48045db66f0e363a543a36a88e13470d6c9 /sys/dev/stg/tmc18c30_isa.c
parenta67c5263965b3cce0db11089854bd6f3f56f2f8e (diff)
downloadFreeBSD-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.c9
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);
}
OpenPOWER on IntegriCloud