From 55f136012712fa857c5663d29c9e62259459afdc Mon Sep 17 00:00:00 2001 From: patrick Date: Fri, 5 Jul 2024 21:24:13 +0000 Subject: [PATCH] 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@ --- sys/dev/pci/if_qwx_pci.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) 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; + } } } -- 2.20.1