diff options
author | ps <ps@FreeBSD.org> | 2003-05-21 07:17:06 +0000 |
---|---|---|
committer | ps <ps@FreeBSD.org> | 2003-05-21 07:17:06 +0000 |
commit | ab966f1217f865494769987074763f2f25194cbd (patch) | |
tree | c2051d2505e631ac9a4ff705b76515d5d46e8a34 /sys | |
parent | 5fd3439030816602010a8e2cb7604491e6d78370 (diff) | |
download | FreeBSD-src-ab966f1217f865494769987074763f2f25194cbd.zip FreeBSD-src-ab966f1217f865494769987074763f2f25194cbd.tar.gz |
Make ciss usable under PAE
Approved by: re (scottl)
Diffstat (limited to 'sys')
-rw-r--r-- | sys/dev/ciss/ciss.c | 8 | ||||
-rw-r--r-- | sys/i386/conf/PAE | 1 |
2 files changed, 7 insertions, 2 deletions
diff --git a/sys/dev/ciss/ciss.c b/sys/dev/ciss/ciss.c index 6763a5b..6009b44 100644 --- a/sys/dev/ciss/ciss.c +++ b/sys/dev/ciss/ciss.c @@ -770,6 +770,7 @@ ciss_init_requests(struct ciss_softc *sc) cr = &sc->ciss_request[i]; cr->cr_sc = sc; cr->cr_tag = i; + bus_dmamap_create(sc->ciss_buffer_dmat, 0, &cr->cr_datamap); ciss_enqueue_free(cr); } return(0); @@ -1341,6 +1342,8 @@ ciss_accept_media_complete(struct ciss_request *cr) static void ciss_free(struct ciss_softc *sc) { + struct ciss_request *cr; + debug_called(1); /* we're going away */ @@ -1372,6 +1375,9 @@ ciss_free(struct ciss_softc *sc) /* destroy DMA tags */ if (sc->ciss_parent_dmat) bus_dma_tag_destroy(sc->ciss_parent_dmat); + + while ((cr = ciss_dequeue_free(sc)) != NULL) + bus_dmamap_destroy(sc->ciss_buffer_dmat, cr->cr_datamap); if (sc->ciss_buffer_dmat) bus_dma_tag_destroy(sc->ciss_buffer_dmat); @@ -1380,7 +1386,7 @@ ciss_free(struct ciss_softc *sc) bus_dmamap_unload(sc->ciss_command_dmat, sc->ciss_command_map); bus_dmamem_free(sc->ciss_command_dmat, sc->ciss_command, sc->ciss_command_map); } - if (sc->ciss_buffer_dmat) + if (sc->ciss_command_dmat) bus_dma_tag_destroy(sc->ciss_command_dmat); /* disconnect from CAM */ diff --git a/sys/i386/conf/PAE b/sys/i386/conf/PAE index ee0312e..67b5a8d 100644 --- a/sys/i386/conf/PAE +++ b/sys/i386/conf/PAE @@ -46,7 +46,6 @@ nodevice nsp nodevice stg nodevice asr -nodevice ciss nodevice dpt nodevice iir nodevice mly |