summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorPatrick Wildt <patrick@cvs.openbsd.org>2024-07-05 21:24:14 +0000
committerPatrick Wildt <patrick@cvs.openbsd.org>2024-07-05 21:24:14 +0000
commit5b2cf52952e3600da8f129c8eef8e2b9c0135dcb (patch)
treefb568a61940c23496a524276945d0ca7947101f4 /sys
parent3efac1e8014219973387afc14fb257cb358ced76 (diff)
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@
Diffstat (limited to 'sys')
-rw-r--r--sys/dev/pci/if_qwx_pci.c10
1 files 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 <stsp@openbsd.org>
@@ -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;
+ }
}
}