git: 171e57967b3e - main - cxgbe/t4_tom: Demote STALE L2 table entries to RESOLVING in uld_stop.
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 11 Sep 2024 19:22:52 UTC
The branch main has been updated by np:
URL: https://cgit.FreeBSD.org/src/commit/?id=171e57967b3e53f0fb48116df5003ce17163295c
commit 171e57967b3e53f0fb48116df5003ce17163295c
Author: Navdeep Parhar <np@FreeBSD.org>
AuthorDate: 2024-09-11 07:11:13 +0000
Commit: Navdeep Parhar <np@FreeBSD.org>
CommitDate: 2024-09-11 19:09:48 +0000
cxgbe/t4_tom: Demote STALE L2 table entries to RESOLVING in uld_stop.
The STALE state means the L2T entry is valid in hardware but needs to be
refreshed (ARP/NDP) in software. But stop/suspend wipes the hardware
L2T and STALE entries need to be updated just like VALID entries to match
actual hardware state.
Fixes: c1c524852f62 cxgbe/t4_tom: Implement uld_stop and uld_restart for ULD_TOM.
MFC after: 1 week
Sponsored by: Chelsio Communications
---
sys/dev/cxgbe/tom/t4_tom.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys/dev/cxgbe/tom/t4_tom.c b/sys/dev/cxgbe/tom/t4_tom.c
index 9b1dcf304196..356ac7edc134 100644
--- a/sys/dev/cxgbe/tom/t4_tom.c
+++ b/sys/dev/cxgbe/tom/t4_tom.c
@@ -2115,7 +2115,7 @@ stop_tom_l2t(struct adapter *sc)
for (i = 0; i < d->l2t_size; i++) {
e = &d->l2tab[i];
mtx_lock(&e->lock);
- if (e->state == L2T_STATE_VALID)
+ if (e->state == L2T_STATE_VALID || e->state == L2T_STATE_STALE)
e->state = L2T_STATE_RESOLVING;
/*
* stop_atids is going to clean up _all_ atids in use, including