diff options
author | Patrick Wildt <patrick@cvs.openbsd.org> | 2024-07-05 21:24:14 +0000 |
---|---|---|
committer | Patrick Wildt <patrick@cvs.openbsd.org> | 2024-07-05 21:24:14 +0000 |
commit | 5b2cf52952e3600da8f129c8eef8e2b9c0135dcb (patch) | |
tree | fb568a61940c23496a524276945d0ca7947101f4 /sys | |
parent | 3efac1e8014219973387afc14fb257cb358ced76 (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.c | 10 |
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; + } } } |