diff options
Diffstat (limited to 'sys/dev')
| -rw-r--r-- | sys/dev/ic/elinkxl.c | 10 |
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++) { |
