opnsense-src/sys/dev/cxgbe
John Baldwin bd8cecc466 cxgbe tom: Call t4_rcvd_locked from do_rx_data to return RX credits
In particular, the kernel RPC layer used by the NFS client never
invokes pru_rcvd since it always reads data from the socket upcall
via MSG_SOCALLBCK which avoids calling pru_rcvd.  As a result, on an
NFS client connection managed by t4_tom, RX credits were never
returned to the TOE connection to open the TCP window resulting in
connection hangs.

To fix, expand the set of conditions in do_rx_data where RX credits
are returned to match those in t4_rcvd_locked by calling the function
directly.

Reviewed by:	np
Sponsored by:	Chelsio Communications
Differential Revision:	https://reviews.freebsd.org/D41688

(cherry picked from commit dcfddc8dc091e7688abc8488a0307eba425fa7a2)
2023-10-11 08:10:32 -07:00
..
common sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
crypto sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
cudbg sys: Remove $FreeBSD$: one-line bare tag 2023-08-16 11:55:17 -06:00
cxgbei sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
firmware sys: Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:54:58 -06:00
iw_cxgbe sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
tom cxgbe tom: Call t4_rcvd_locked from do_rx_data to return RX credits 2023-10-11 08:10:32 -07:00
adapter.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
if_cc.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
if_ccv.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
if_cxl.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
if_cxlv.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
offload.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
osdep.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
t4_clip.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
t4_clip.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
t4_filter.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
t4_if.m sys: Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:54:58 -06:00
t4_ioctl.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
t4_iov.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
t4_l2t.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
t4_l2t.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
t4_main.c cxgbe(4): Avoid hang on kldunload on netlink enabled kernels. 2023-09-18 11:57:43 -07:00
t4_mp_ring.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
t4_mp_ring.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
t4_netmap.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
t4_sched.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
t4_sge.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
t4_smt.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
t4_smt.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
t4_tracer.c cxgbe(4): Fix tracing with netlink enabled kernels. 2023-09-18 11:57:51 -07:00
t4_vf.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00