Module Name:    src
Committed By:   jym
Date:           Thu Apr 21 13:06:20 UTC 2011

Modified Files:
        src/sys/arch/xen/xen: xennetback_xenbus.c

Log Message:
Disestablish softint in the error path.


To generate a diff of this commit:
cvs rdiff -u -r1.41 -r1.42 src/sys/arch/xen/xen/xennetback_xenbus.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/arch/xen/xen/xennetback_xenbus.c
diff -u src/sys/arch/xen/xen/xennetback_xenbus.c:1.41 src/sys/arch/xen/xen/xennetback_xenbus.c:1.42
--- src/sys/arch/xen/xen/xennetback_xenbus.c:1.41	Wed Apr 20 20:32:38 2011
+++ src/sys/arch/xen/xen/xennetback_xenbus.c	Thu Apr 21 13:06:20 2011
@@ -1,4 +1,4 @@
-/*      $NetBSD: xennetback_xenbus.c,v 1.41 2011/04/20 20:32:38 jym Exp $      */
+/*      $NetBSD: xennetback_xenbus.c,v 1.42 2011/04/21 13:06:20 jym Exp $      */
 
 /*
  * Copyright (c) 2006 Manuel Bouyer.
@@ -496,7 +496,7 @@
 		if (xneti->xni_tx_ring_va == 0) {
 			xenbus_dev_fatal(xbusd, ENOMEM,
 			    "can't get VA for tx ring", xbusd->xbusd_otherend);
-			break;
+			goto err0;
 		}
 		tx_ring = (void *)xneti->xni_tx_ring_va;
 		xneti->xni_rx_ring_va = uvm_km_alloc(kernel_map, PAGE_SIZE, 0,
@@ -597,6 +597,8 @@
 err1:
 	uvm_km_free(kernel_map, xneti->xni_tx_ring_va,
 	    PAGE_SIZE, UVM_KMF_VAONLY);
+err0:
+	softint_disestablish(xneti->xni_softintr);
 }
 
 /* lookup a xneti based on domain id and interface handle */

Reply via email to