diff options
| author | Hidetoshi Shimokawa <simokawa@FreeBSD.org> | 2008-05-10 09:22:06 +0000 |
|---|---|---|
| committer | Hidetoshi Shimokawa <simokawa@FreeBSD.org> | 2008-05-10 09:22:06 +0000 |
| commit | 5f3fa23423df55f1647d57d00b5c127b63680e3f (patch) | |
| tree | 737f1847b346f89c4901e169fc23a6459e1ad91f /sys/dev/firewire | |
| parent | f30f70856be37431a6dd021b3b0942c10f3e9b90 (diff) | |
Notes
Diffstat (limited to 'sys/dev/firewire')
| -rw-r--r-- | sys/dev/firewire/fwohci.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/sys/dev/firewire/fwohci.c b/sys/dev/firewire/fwohci.c index c74d8d84b493..889338767f7e 100644 --- a/sys/dev/firewire/fwohci.c +++ b/sys/dev/firewire/fwohci.c @@ -1745,6 +1745,8 @@ fwohci_stop(struct fwohci_softc *sc, device_t dev) { u_int i; + fwohci_set_intr(&sc->fc, 0); + /* Now stopping all DMA channel */ OWRITE(sc, OHCI_ARQCTLCLR, OHCI_CNTL_DMA_RUN); OWRITE(sc, OHCI_ARSCTLCLR, OHCI_CNTL_DMA_RUN); @@ -2601,10 +2603,13 @@ fwohci_add_rx_buf(struct fwohci_dbch *dbch, struct fwohcidb_tr *db_tr, ir = &dbch->xferq; if (ir->buf == NULL && (dbch->xferq.flag & FWXFERQ_EXTBUF) == 0) { - db_tr->buf = fwdma_malloc_size(dbch->dmat, &db_tr->dma_map, - ir->psize, &dbuf[0], BUS_DMA_NOWAIT); - if (db_tr->buf == NULL) - return(ENOMEM); + if (db_tr->buf == NULL) { + db_tr->buf = fwdma_malloc_size(dbch->dmat, + &db_tr->dma_map, ir->psize, &dbuf[0], + BUS_DMA_NOWAIT); + if (db_tr->buf == NULL) + return(ENOMEM); + } db_tr->dbcnt = 1; dsiz[0] = ir->psize; bus_dmamap_sync(dbch->dmat, db_tr->dma_map, |
