From: patrick Date: Fri, 5 Jul 2024 21:24:13 +0000 (+0000) Subject: Only call qwx_dp_service_srng() if ext irq is enabled. It would be nicer X-Git-Url: http://artulab.com/gitweb/?a=commitdiff_plain;h=55f136012712fa857c5663d29c9e62259459afdc;p=openbsd Only call qwx_dp_service_srng() if ext irq is enabled. It would be nicer if we could simply call the ext irq handler which already does that, but that is requiring the irq groups to be set up to point to our softc, so let's just check it again. This allows single-msi vectors to behave. ok stsp@ --- diff --git a/sys/dev/pci/if_qwx_pci.c b/sys/dev/pci/if_qwx_pci.c index c42332b5ed0..622e6d52598 100644 --- a/sys/dev/pci/if_qwx_pci.c +++ b/sys/dev/pci/if_qwx_pci.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_qwx_pci.c,v 1.20 2024/06/11 10:06:35 stsp Exp $ */ +/* $OpenBSD: if_qwx_pci.c,v 1.21 2024/07/05 21:24:13 patrick Exp $ */ /* * Copyright 2023 Stefan Sperling @@ -4130,9 +4130,11 @@ qwx_pci_intr(void *arg) ret = 1; } - for (i = 0; i < nitems(sc->ext_irq_grp); i++) { - if (qwx_dp_service_srng(sc, i)) - ret = 1; + if (test_bit(QWX_FLAG_EXT_IRQ_ENABLED, sc->sc_flags)) { + for (i = 0; i < nitems(sc->ext_irq_grp); i++) { + if (qwx_dp_service_srng(sc, i)) + ret = 1; + } } }