aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Baldwin <jhb@FreeBSD.org>2025-11-10 15:50:48 +0000
committerJohn Baldwin <jhb@FreeBSD.org>2025-11-10 15:50:48 +0000
commitfca740e2d21008faec0d81426259470b452704e6 (patch)
tree83458ff1d019f9c823ef2305a49bcd0695926abe
parent71d82199a111af67cba73e32a27a900d74c1a1cc (diff)
cxgbe tom: Don't require exact match for TCP seqno for FIN for NVMe offload
Similar to iSCSI on T6+, additional DDP data might have been received without a completion posted if a connection was closed in the middle of a transfer. Sponsored by: Chelsio Communications
-rw-r--r--sys/dev/cxgbe/tom/t4_cpl_io.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/dev/cxgbe/tom/t4_cpl_io.c b/sys/dev/cxgbe/tom/t4_cpl_io.c
index 10f4f91f8db6..4f0dbb07061b 100644
--- a/sys/dev/cxgbe/tom/t4_cpl_io.c
+++ b/sys/dev/cxgbe/tom/t4_cpl_io.c
@@ -1787,7 +1787,8 @@ do_peer_close(struct sge_iq *iq, const struct rss_header *rss, struct mbuf *m)
socantrcvmore(so);
if (ulp_mode(toep) == ULP_MODE_RDMA ||
- (ulp_mode(toep) == ULP_MODE_ISCSI && chip_id(sc) >= CHELSIO_T6)) {
+ (ulp_mode(toep) == ULP_MODE_ISCSI && chip_id(sc) >= CHELSIO_T6) ||
+ ulp_mode(toep) == ULP_MODE_NVMET) {
/*
* There might be data received via DDP before the FIN
* not reported to the driver. Just assume the