Module Name:    src
Committed By:   martin
Date:           Fri Oct 25 15:42:50 UTC 2013

Modified Files:
        src/sys/dev/qbus: if_qe.c

Log Message:
Fix dmamap cleanup in an error path


To generate a diff of this commit:
cvs rdiff -u -r1.71 -r1.72 src/sys/dev/qbus/if_qe.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/qbus/if_qe.c
diff -u src/sys/dev/qbus/if_qe.c:1.71 src/sys/dev/qbus/if_qe.c:1.72
--- src/sys/dev/qbus/if_qe.c:1.71	Mon Apr  5 07:21:47 2010
+++ src/sys/dev/qbus/if_qe.c	Fri Oct 25 15:42:50 2013
@@ -1,4 +1,4 @@
-/*      $NetBSD: if_qe.c,v 1.71 2010/04/05 07:21:47 joerg Exp $ */
+/*      $NetBSD: if_qe.c,v 1.72 2013/10/25 15:42:50 martin Exp $ */
 /*
  * Copyright (c) 1999 Ludd, University of Lule}, Sweden. All rights reserved.
  *
@@ -38,7 +38,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_qe.c,v 1.71 2010/04/05 07:21:47 joerg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_qe.c,v 1.72 2013/10/25 15:42:50 martin Exp $");
 
 #include "opt_inet.h"
 
@@ -372,13 +372,13 @@ qeattach(device_t parent, device_t self,
 	}
  fail_5:
 	for (i = 0; i < RXDESCS; i++) {
-		if (sc->sc_xmtmap[i] != NULL)
-			bus_dmamap_destroy(sc->sc_dmat, sc->sc_xmtmap[i]);
+		if (sc->sc_rcvmap[i] != NULL)
+			bus_dmamap_destroy(sc->sc_dmat, sc->sc_rcvmap[i]);
 	}
  fail_4:
 	for (i = 0; i < TXDESCS; i++) {
-		if (sc->sc_rcvmap[i] != NULL)
-			bus_dmamap_destroy(sc->sc_dmat, sc->sc_rcvmap[i]);
+		if (sc->sc_xmtmap[i] != NULL)
+			bus_dmamap_destroy(sc->sc_dmat, sc->sc_xmtmap[i]);
 	}
 }
 
@@ -452,7 +452,7 @@ qestart(struct ifnet *ifp)
 	struct qe_cdata *qc = sc->sc_qedata;
 	paddr_t	buffer;
 	struct mbuf *m, *m0;
-	int idx, len, s, i, totlen, buflen, error;
+	int idx, len, s, i, totlen, buflen;
 	short orword, csr;
 
 	if ((QE_RCSR(QE_CSR_CSR) & QE_RCV_ENABLE) == 0)
@@ -502,7 +502,7 @@ qestart(struct ifnet *ifp)
 			if (m0) {
 				if (m0->m_len == 0)
 					continue;
-				error = bus_dmamap_load(sc->sc_dmat,
+				bus_dmamap_load(sc->sc_dmat,
 				    sc->sc_xmtmap[idx], mtod(m0, void *),
 				    m0->m_len, 0, 0);
 				buffer = sc->sc_xmtmap[idx]->dm_segs[0].ds_addr;

Reply via email to