Sun Sep 27 19:48:57 2009 UTC ()
Don't disestablish a soft interrupt which has not been established.


(bouyer)
diff -r1.29 -r1.30 src/sys/arch/xen/xen/xennetback_xenbus.c

cvs diff -r1.29 -r1.30 src/sys/arch/xen/xen/xennetback_xenbus.c (expand / switch to context diff)
--- src/sys/arch/xen/xen/xennetback_xenbus.c 2009/09/25 23:11:57 1.29
+++ src/sys/arch/xen/xen/xennetback_xenbus.c 2009/09/27 19:48:57 1.30
@@ -1,4 +1,4 @@
-/*      $NetBSD: xennetback_xenbus.c,v 1.29 2009/09/25 23:11:57 bouyer Exp $      */
+/*      $NetBSD: xennetback_xenbus.c,v 1.30 2009/09/27 19:48:57 bouyer Exp $      */
 
 /*
  * Copyright (c) 2006 Manuel Bouyer.
@@ -380,7 +380,10 @@
 	aprint_verbose_ifnet(&xneti->xni_if, "disconnecting\n");
 	hypervisor_mask_event(xneti->xni_evtchn);
 	event_remove_handler(xneti->xni_evtchn, xennetback_evthandler, xneti);
-	softint_disestablish(xneti->xni_softintr);
+	if (xneti->xni_softintr) {
+		softint_disestablish(xneti->xni_softintr);
+		xneti->xni_softintr = NULL;
+	}
 
 	SLIST_REMOVE(&xnetback_instances,
 	    xneti, xnetback_instance, next);