Module Name: src Committed By: riastradh Date: Thu Aug 11 13:04:35 UTC 2022
Modified Files: src/sys/arch/arm/fdt: gic_fdt.c Log Message: gic at fdt: Don't assume all irqs are established on disestablish. Fixes panic on detach of PCI devices on pcihost. To generate a diff of this commit: cvs rdiff -u -r1.24 -r1.25 src/sys/arch/arm/fdt/gic_fdt.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/arm/fdt/gic_fdt.c diff -u src/sys/arch/arm/fdt/gic_fdt.c:1.24 src/sys/arch/arm/fdt/gic_fdt.c:1.25 --- src/sys/arch/arm/fdt/gic_fdt.c:1.24 Thu Nov 4 21:31:30 2021 +++ src/sys/arch/arm/fdt/gic_fdt.c Thu Aug 11 13:04:35 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: gic_fdt.c,v 1.24 2021/11/04 21:31:30 jakllsch Exp $ */ +/* $NetBSD: gic_fdt.c,v 1.25 2022/08/11 13:04:35 riastradh Exp $ */ /*- * Copyright (c) 2015-2017 Jared McNeill <jmcne...@invisible.ca> @@ -29,7 +29,7 @@ #include "pci.h" #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: gic_fdt.c,v 1.24 2021/11/04 21:31:30 jakllsch Exp $"); +__KERNEL_RCSID(0, "$NetBSD: gic_fdt.c,v 1.25 2022/08/11 13:04:35 riastradh Exp $"); #include <sys/param.h> #include <sys/bus.h> @@ -328,7 +328,7 @@ gic_fdt_disestablish(device_t dev, void for (n = 0; n < GIC_MAXIRQ; n++) { firq = sc->sc_irq[n]; - if (firq->intr_ih != ih) + if (firq == NULL || firq->intr_ih != ih) continue; KASSERT(firq->intr_refcnt > 0);