summaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/ic/elinkxl.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/sys/dev/ic/elinkxl.c b/sys/dev/ic/elinkxl.c
index 0e3acfbf792..46c65b1b0c3 100644
--- a/sys/dev/ic/elinkxl.c
+++ b/sys/dev/ic/elinkxl.c
@@ -1,4 +1,4 @@
-/* $NetBSD: elinkxl.c,v 1.56 2001/09/16 16:34:37 wiz Exp $ */
+/* $NetBSD: elinkxl.c,v 1.57 2001/10/01 09:26:29 yamt Exp $ */
/*-
* Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -958,8 +958,6 @@ ex_start(ifp)
* Get pointer to next available tx desc.
*/
txp = sc->tx_free;
- sc->tx_free = txp->tx_next;
- txp->tx_next = NULL;
dmamap = txp->tx_dmamap;
/*
@@ -1020,6 +1018,12 @@ ex_start(ifp)
goto out;
}
+ /*
+ * remove our tx desc from freelist.
+ */
+ sc->tx_free = txp->tx_next;
+ txp->tx_next = NULL;
+
fr = &txp->tx_dpd->dpd_frags[0];
totlen = 0;
for (segment = 0; segment < dmamap->dm_nsegs; segment++, fr++) {