git: 372803d65d24 - main - ixl: Set critical-error state bits independently
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 11 Sep 2026 20:57:47 UTC
The branch main has been updated by kbowling:
URL: https://cgit.FreeBSD.org/src/commit/?id=372803d65d242b308abd6b312a40ff6987fc3452
commit 372803d65d242b308abd6b312a40ff6987fc3452
Author: Kevin Bowling <kbowling@FreeBSD.org>
AuthorDate: 2026-09-07 13:36:06 +0000
Commit: Kevin Bowling <kbowling@FreeBSD.org>
CommitDate: 2026-09-11 20:46:33 +0000
ixl: Set critical-error state bits independently
ixl_set_state() takes a bit index, not a bit mask. ORing the
reset request and critical error indices produced the global reset
index, so a critical interrupt could mask its cause without scheduling
the intended PF reset.
Set both state bits explicitly.
MFC after: 2 weeks
Sponsored by: BBOX.io
---
sys/dev/ixl/ixl_pf_iflib.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/sys/dev/ixl/ixl_pf_iflib.c b/sys/dev/ixl/ixl_pf_iflib.c
index 90fc85198523..723b5b635220 100644
--- a/sys/dev/ixl/ixl_pf_iflib.c
+++ b/sys/dev/ixl/ixl_pf_iflib.c
@@ -201,8 +201,8 @@ ixl_msix_adminq(void *arg)
/* Checks against the conditions above */
if (reg & IXL_ICR0_CRIT_ERR_MASK) {
mask &= ~IXL_ICR0_CRIT_ERR_MASK;
- ixl_set_state(&pf->state,
- IXL_STATE_PF_RESET_REQ | IXL_STATE_PF_CRIT_ERR);
+ ixl_set_state(&pf->state, IXL_STATE_PF_RESET_REQ);
+ ixl_set_state(&pf->state, IXL_STATE_PF_CRIT_ERR);
do_task = TRUE;
}