diff options
author | simokawa <simokawa@FreeBSD.org> | 2007-03-30 15:43:56 +0000 |
---|---|---|
committer | simokawa <simokawa@FreeBSD.org> | 2007-03-30 15:43:56 +0000 |
commit | 83871cf425c75b70c87a7a0b7647087ad4aa0b0f (patch) | |
tree | 86148c00fa90f4e7a894445988be9a8666fe96e9 | |
parent | ba1dead5fb684fe6084565ca3ed4ccc616082fe0 (diff) | |
download | FreeBSD-src-83871cf425c75b70c87a7a0b7647087ad4aa0b0f.zip FreeBSD-src-83871cf425c75b70c87a7a0b7647087ad4aa0b0f.tar.gz |
Free tlabel in fw_xfer_done().
-rw-r--r-- | sys/dev/firewire/firewire.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/sys/dev/firewire/firewire.c b/sys/dev/firewire/firewire.c index b82cf91..8b6f921 100644 --- a/sys/dev/firewire/firewire.c +++ b/sys/dev/firewire/firewire.c @@ -355,7 +355,6 @@ firewire_xfer_timeout(struct firewire_comm *fc) "split transaction timeout dst=0x%x tl=0x%x state=%d\n", xfer->send.hdr.mode.hdr.dst, i, xfer->state); xfer->resp = ETIMEDOUT; - STAILQ_REMOVE_HEAD(&fc->tlabels[i], link); fw_xfer_done(xfer); } } @@ -1012,6 +1011,7 @@ fw_xfer_done(struct fw_xfer *xfer) if (xfer->fc == NULL) panic("fw_xfer_done: why xfer->fc is NULL?"); + fw_tl_free(xfer->fc, xfer); xfer->hand(xfer); } @@ -1038,7 +1038,6 @@ fw_xfer_unload(struct fw_xfer* xfer) */ printf("fw_xfer_free FWXF_START\n"); #endif - fw_tl_free(xfer->fc, xfer); } xfer->state = FWXF_INIT; xfer->resp = 0; |