From b34b30c5af1b1dac01bec0e9b909de08baf49c49 Mon Sep 17 00:00:00 2001 From: Hidetoshi Shimokawa Date: Fri, 30 Mar 2007 15:43:56 +0000 Subject: [PATCH] Free tlabel in fw_xfer_done(). --- sys/dev/firewire/firewire.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/sys/dev/firewire/firewire.c b/sys/dev/firewire/firewire.c index b82cf915c5a6..8b6f921c5df8 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;