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-all mailing list