diff options
author | Denis Kenzior <denkenz@gmail.com> | 2011-06-29 04:03:25 -0500 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2011-06-29 04:03:25 -0500 |
commit | 078d621033d5007b21e75d0c0f73d778c3934c3c (patch) | |
tree | 6363814ca02190c83ddf857c0f6d53430d7f9e75 /gatchat | |
parent | bc64df2d2abde6b4045231f6db31bc7976bd7772 (diff) | |
download | ofono-078d621033d5007b21e75d0c0f73d778c3934c3c.tar.bz2 |
ppp: Don't regenerate options when unchanged
Diffstat (limited to 'gatchat')
-rw-r--r-- | gatchat/ppp_lcp.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gatchat/ppp_lcp.c b/gatchat/ppp_lcp.c index 01b36bff..d396e518 100644 --- a/gatchat/ppp_lcp.c +++ b/gatchat/ppp_lcp.c @@ -374,12 +374,16 @@ struct pppcp_data *lcp_new(GAtPPP *ppp, gboolean is_server) void lcp_set_acfc_enabled(struct pppcp_data *pppcp, gboolean enabled) { struct lcp_data *lcp = pppcp_get_data(pppcp); + guint8 old = lcp->req_options; if (enabled == TRUE) lcp->req_options |= REQ_OPTION_ACFC; else lcp->req_options &= ~REQ_OPTION_ACFC; + if (lcp->req_options == old) + return; + lcp_generate_config_options(lcp); pppcp_set_local_options(pppcp, lcp->options, lcp->options_len); } @@ -387,12 +391,16 @@ void lcp_set_acfc_enabled(struct pppcp_data *pppcp, gboolean enabled) void lcp_set_pfc_enabled(struct pppcp_data *pppcp, gboolean enabled) { struct lcp_data *lcp = pppcp_get_data(pppcp); + guint8 old = lcp->req_options; if (enabled == TRUE) lcp->req_options |= REQ_OPTION_PFC; else lcp->req_options &= ~REQ_OPTION_PFC; + if (lcp->req_options == old) + return; + lcp_generate_config_options(lcp); pppcp_set_local_options(pppcp, lcp->options, lcp->options_len); } |