[PATCH v14 09/10] net/tcp: define a fallback value for rcv_wnd size
Mikhail Kshevetskiy
mikhail.kshevetskiy at iopsys.eu
Wed Dec 4 00:00:48 CET 2024
Some driver implements it's own network packet pool, so PKTBUFSRX is zero.
This results in zero-size TCP receive window, so data transfer doesn't
work. Avoid it by setting a reasonable fallback value.
Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy at iopsys.eu>
Reviewed-by: Simon Glass <sjg at chromium.org>
---
net/tcp.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/net/tcp.c b/net/tcp.c
index 637537e956e..cc5b8da46ef 100644
--- a/net/tcp.c
+++ b/net/tcp.c
@@ -36,7 +36,11 @@
#define TCP_SEND_RETRY 3
#define TCP_SEND_TIMEOUT 2000UL
#define TCP_RX_INACTIVE_TIMEOUT 30000UL
-#define TCP_RCV_WND_SIZE (PKTBUFSRX * TCP_MSS)
+#if PKTBUFSRX != 0
+ #define TCP_RCV_WND_SIZE (PKTBUFSRX * TCP_MSS)
+#else
+ #define TCP_RCV_WND_SIZE (4 * TCP_MSS)
+#endif
#define TCP_PACKET_OK 0
#define TCP_PACKET_DROP 1
--
2.45.2
More information about the U-Boot
mailing list