From: Geliang Tang Date: Tue, 6 Sep 2022 20:55:41 +0000 (+0200) Subject: mptcp: add do_check_data_fin to replace copied X-Git-Tag: v6.1-rc5~319^2~221^2~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=0522b424c4c2a1f7d79d62b7723c07d3415d94e5;p=platform%2Fkernel%2Flinux-starfive.git mptcp: add do_check_data_fin to replace copied This patch adds a new bool variable 'do_check_data_fin' to replace the original int variable 'copied' in __mptcp_push_pending(), check it to determine whether to call __mptcp_check_send_data_fin(). Suggested-by: Mat Martineau Signed-off-by: Geliang Tang Reviewed-by: Matthieu Baerts Signed-off-by: Matthieu Baerts Signed-off-by: Paolo Abeni --- diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c index fc782d6..47931f6 100644 --- a/net/mptcp/protocol.c +++ b/net/mptcp/protocol.c @@ -1538,8 +1538,9 @@ void __mptcp_push_pending(struct sock *sk, unsigned int flags) struct mptcp_sendmsg_info info = { .flags = flags, }; + bool do_check_data_fin = false; struct mptcp_data_frag *dfrag; - int len, copied = 0; + int len; while ((dfrag = mptcp_send_head(sk))) { info.sent = dfrag->already_sent; @@ -1574,8 +1575,8 @@ void __mptcp_push_pending(struct sock *sk, unsigned int flags) goto out; } + do_check_data_fin = true; info.sent += ret; - copied += ret; len -= ret; mptcp_update_post_push(msk, dfrag, ret); @@ -1591,7 +1592,7 @@ out: /* ensure the rtx timer is running */ if (!mptcp_timer_pending(sk)) mptcp_reset_timer(sk); - if (copied) + if (do_check_data_fin) __mptcp_check_send_data_fin(sk); }