svn commit: r355244 - stable/11/sys/dev/cxgbe/common
Navdeep Parhar
np at FreeBSD.org
Sat Nov 30 19:52:48 UTC 2019
Author: np
Date: Sat Nov 30 19:52:47 2019
New Revision: 355244
URL: https://svnweb.freebsd.org/changeset/base/355244
Log:
MFC r349956:
cxgbe(4): Completely ignore all top level interrupts that are not enabled.
The driver used to log any non-zero cause and when running with a single
line interrupt it would spam the console/logs with reports of interrupts
that are of no interest to anyone.
Sponsored by: Chelsio Communications
Modified:
stable/11/sys/dev/cxgbe/common/t4_hw.c
Directory Properties:
stable/11/ (props changed)
Modified: stable/11/sys/dev/cxgbe/common/t4_hw.c
==============================================================================
--- stable/11/sys/dev/cxgbe/common/t4_hw.c Sat Nov 30 19:35:20 2019 (r355243)
+++ stable/11/sys/dev/cxgbe/common/t4_hw.c Sat Nov 30 19:52:47 2019 (r355244)
@@ -4021,17 +4021,16 @@ t4_handle_intr(struct adapter *adap, const struct intr
bool rc;
const struct intr_action *action;
- /* read and display cause. */
- cause = t4_read_reg(adap, ii->cause_reg);
- if (verbose || cause != 0)
- t4_show_intr_info(adap, ii, cause);
/*
- * The top level interrupt cause is a bit special and we need to ignore
- * the bits that are not in the enable. Note that we did display them
- * above in t4_show_intr_info but will not clear them.
+ * Read and display cause. Note that the top level PL_INT_CAUSE is a
+ * bit special and we need to completely ignore the bits that are not in
+ * PL_INT_ENABLE.
*/
+ cause = t4_read_reg(adap, ii->cause_reg);
if (ii->cause_reg == A_PL_INT_CAUSE)
cause &= t4_read_reg(adap, ii->enable_reg);
+ if (verbose || cause != 0)
+ t4_show_intr_info(adap, ii, cause);
fatal = cause & ii->fatal;
if (fatal != 0 && ii->flags & NONFATAL_IF_DISABLED)
fatal &= t4_read_reg(adap, ii->enable_reg);
More information about the svn-src-stable-11
mailing list