diff options
author | simokawa <simokawa@FreeBSD.org> | 2003-02-03 07:33:31 +0000 |
---|---|---|
committer | simokawa <simokawa@FreeBSD.org> | 2003-02-03 07:33:31 +0000 |
commit | afb9eb67e2cada491999bc9223b413ffd6d32de4 (patch) | |
tree | 6c767b449cd12bf15b57f8a07b115bd932661805 /sys/dev/firewire/fwdev.c | |
parent | 3fe8dc7ecfb88fd252d48b18419c1fcb38ec825c (diff) | |
download | FreeBSD-src-afb9eb67e2cada491999bc9223b413ffd6d32de4.zip FreeBSD-src-afb9eb67e2cada491999bc9223b413ffd6d32de4.tar.gz |
- Take malloc type as an argument in fw_xfer_alloc().
- Fix overwrite problem of freed buffers. It was rare but could happen
when fwohci_arcv() is called before fwohci_txd() is called for
the transcation.
- Drain AT queues and pend AR queues on SID receive rather than BUS reset to
make sure DMA actually stops.
- Do agent reset in sbp_timeout().
Diffstat (limited to 'sys/dev/firewire/fwdev.c')
-rw-r--r-- | sys/dev/firewire/fwdev.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/dev/firewire/fwdev.c b/sys/dev/firewire/fwdev.c index 1ef9ec4..13c84a3 100644 --- a/sys/dev/firewire/fwdev.c +++ b/sys/dev/firewire/fwdev.c @@ -455,7 +455,7 @@ dvloop: } #endif if(xferq != NULL){ - xfer = fw_xfer_alloc(); + xfer = fw_xfer_alloc(M_FWXFER); if(xfer == NULL){ err = ENOMEM; return err; @@ -734,7 +734,7 @@ fw_ioctl (dev_t dev, u_long cmd, caddr_t data, int flag, fw_proc *td) ibufreq->tx.psize = sc->fc->it[sub]->psize; break; case FW_ASYREQ: - xfer = fw_xfer_alloc(); + xfer = fw_xfer_alloc(M_FWXFER); if(xfer == NULL){ err = ENOMEM; return err; @@ -821,7 +821,7 @@ error: fwb->start_lo = bindreq->start.lo; fwb->addrlen = bindreq->len; - xfer = fw_xfer_alloc(); + xfer = fw_xfer_alloc(M_FWXFER); if(xfer == NULL){ err = ENOMEM; return err; |