Module Name: src Committed By: knakahara Date: Mon Aug 19 05:23:50 UTC 2019
Modified Files: src/sys/arch/x86/pci: if_vmx.c Log Message: fix panic when vmx(4) is detached. To generate a diff of this commit: cvs rdiff -u -r1.46 -r1.47 src/sys/arch/x86/pci/if_vmx.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/x86/pci/if_vmx.c diff -u src/sys/arch/x86/pci/if_vmx.c:1.46 src/sys/arch/x86/pci/if_vmx.c:1.47 --- src/sys/arch/x86/pci/if_vmx.c:1.46 Thu Aug 1 09:37:34 2019 +++ src/sys/arch/x86/pci/if_vmx.c Mon Aug 19 05:23:50 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: if_vmx.c,v 1.46 2019/08/01 09:37:34 knakahara Exp $ */ +/* $NetBSD: if_vmx.c,v 1.47 2019/08/19 05:23:50 knakahara Exp $ */ /* $OpenBSD: if_vmx.c,v 1.16 2014/01/22 06:04:17 brad Exp $ */ /* @@ -19,7 +19,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_vmx.c,v 1.46 2019/08/01 09:37:34 knakahara Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_vmx.c,v 1.47 2019/08/19 05:23:50 knakahara Exp $"); #include <sys/param.h> #include <sys/cpu.h> @@ -859,11 +859,13 @@ vmxnet3_free_interrupts(struct vmxnet3_s int i; workqueue_destroy(sc->vmx_queue_wq); - for (i = 0; i < sc->vmx_nintrs; i++) { + for (i = 0; i < sc->vmx_ntxqueues; i++) { struct vmxnet3_queue *vmxq = &sc->vmx_queue[i]; softint_disestablish(vmxq->vxq_si); vmxq->vxq_si = NULL; + } + for (i = 0; i < sc->vmx_nintrs; i++) { pci_intr_disestablish(pc, sc->vmx_ihs[i]); } pci_intr_release(pc, sc->vmx_intrs, sc->vmx_nintrs);