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 */