From: Pali Rohár Date: Tue, 1 Sep 2020 18:53:30 +0000 (+0200) Subject: pppd: Do not call update_link_stats() for every LcpSendEchoRequest() call X-Git-Tag: ppp-2.4.9~47^2 X-Git-Url: https://git.ozlabs.org/?p=ppp.git;a=commitdiff_plain;h=e7ee3ad1743d34cb6fdf0773e6a73e9d8bf15216 pppd: Do not call update_link_stats() for every LcpSendEchoRequest() call Function update_link_stats() is doing more than reading number of received bytes, e.g. it changes state of link_stats_valid. This change replace update_link_stats() by get_ppp_stats() in LcpSendEchoRequest() function to avoid any side effects. Signed-off-by: Pali Rohár --- diff --git a/pppd/lcp.c b/pppd/lcp.c index 902b64a..d7ea471 100644 --- a/pppd/lcp.c +++ b/pppd/lcp.c @@ -2339,12 +2339,10 @@ LcpSendEchoRequest (f) */ if (lcp_echo_adaptive) { static unsigned int last_pkts_in = 0; + struct pppd_stats cur_stats; - update_link_stats(f->unit); - link_stats_valid = 0; - - if (link_stats.pkts_in != last_pkts_in) { - last_pkts_in = link_stats.pkts_in; + if (get_ppp_stats(f->unit, &cur_stats) && cur_stats.pkts_in != last_pkts_in) { + last_pkts_in = cur_stats.pkts_in; return; } }