aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNavdeep Parhar <np@FreeBSD.org>2025-11-13 21:14:01 +0000
committerNavdeep Parhar <np@FreeBSD.org>2025-11-13 22:49:16 +0000
commitb676b5e5e07fde53e6dafd0fa6c360ca56ac7154 (patch)
tree246475d3329279451a38a0b781e8305f5448f5b8
parentc56a266434678faf961d737714d47291b88a3f9e (diff)
cxgbe(4): Skip non-existent blocks in the interrupt handler
Fixes: 7b80c8b7d8d9 cxgbe(4): Expanded interrupt handling for T7 MFC after: 1 week Sponsored by: Chelsio Communications
-rw-r--r--sys/dev/cxgbe/common/t4_hw.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/sys/dev/cxgbe/common/t4_hw.c b/sys/dev/cxgbe/common/t4_hw.c
index 0f25c73b99d4..65292486cbc8 100644
--- a/sys/dev/cxgbe/common/t4_hw.c
+++ b/sys/dev/cxgbe/common/t4_hw.c
@@ -6134,8 +6134,11 @@ static bool mem_intr_handler(struct adapter *adap, int idx, int flags)
fatal |= t4_handle_intr(adap, &ii, 0, flags);
}
break;
- case MEM_MC1: i = 1;
- /* fall through */
+ case MEM_MC1:
+ if (is_t4(adap) || is_t6(adap))
+ return (false);
+ i = 1;
+ /* fall through */
case MEM_MC0:
snprintf(rname, sizeof(rname), "MC%u_INT_CAUSE", i);
if (is_t4(adap)) {
@@ -6387,6 +6390,9 @@ static bool mac_intr_handler(struct adapter *adap, int port, int flags)
struct intr_info ii;
bool fatal = false;
+ if (port > 1 && is_t6(adap))
+ return (false);
+
if (is_t4(adap)) {
snprintf(name, sizeof(name), "XGMAC_PORT%u_INT_CAUSE", port);
ii.name = &name[0];