diff options
Diffstat (limited to 'sys/dev/cxgbe/t4_sge.c')
-rw-r--r-- | sys/dev/cxgbe/t4_sge.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/dev/cxgbe/t4_sge.c b/sys/dev/cxgbe/t4_sge.c index 131fb617e102..1c2102f4f06e 100644 --- a/sys/dev/cxgbe/t4_sge.c +++ b/sys/dev/cxgbe/t4_sge.c @@ -1303,7 +1303,7 @@ t4_intr_err(void *arg) uint32_t v; const bool verbose = (sc->debug_flags & DF_VERBOSE_SLOWINTR) != 0; - if (sc->flags & ADAP_ERR) + if (atomic_load_int(&sc->error_flags) & ADAP_FATAL_ERR) return; v = t4_read_reg(sc, MYPF_REG(A_PL_PF_INT_CAUSE)); @@ -1312,7 +1312,8 @@ t4_intr_err(void *arg) t4_write_reg(sc, MYPF_REG(A_PL_PF_INT_CAUSE), v); } - t4_slow_intr_handler(sc, verbose); + if (t4_slow_intr_handler(sc, verbose)) + t4_fatal_err(sc, false); } /* |