diff options
author | Kristen Carlson Accardi <kristen@linux.intel.com> | 2010-04-29 11:03:09 -0700 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2010-04-29 14:24:47 -0500 |
commit | 9d5eb5110ff395613509e4ad4d2f2dd713b57b23 (patch) | |
tree | a6de57d0708670f5abd528a7edb7dd05dec82cb8 | |
parent | c9edf56fc69bdf79eeb7cbd11917d6455d098784 (diff) | |
download | ofono-9d5eb5110ff395613509e4ad4d2f2dd713b57b23.tar.bz2 |
ppp: transition to dead when read io destroyed
remove call to signal_close for lcp object, it is redundent. If
our io is destroyed we are dead, so transition the ppp phase to
DEAD so our disconnect callback can be called.
-rw-r--r-- | gatchat/gatppp.c | 2 | ||||
-rw-r--r-- | gatchat/ppp_cp.c | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/gatchat/gatppp.c b/gatchat/gatppp.c index dfdaf40c..3450ce3e 100644 --- a/gatchat/gatppp.c +++ b/gatchat/gatppp.c @@ -180,7 +180,6 @@ void ppp_enter_phase(GAtPPP *ppp, enum ppp_phase phase) case PPP_PHASE_TERMINATION: pppcp_signal_down(ppp->ipcp); pppcp_signal_close(ppp->ipcp); - pppcp_signal_close(ppp->lcp); break; case PPP_PHASE_DEAD: ppp_dead(ppp); @@ -269,6 +268,7 @@ static void io_disconnect(gpointer user_data) GAtPPP *ppp = user_data; pppcp_signal_down(ppp->lcp); + ppp_enter_phase(ppp, PPP_PHASE_DEAD); } /* Administrative Open */ diff --git a/gatchat/ppp_cp.c b/gatchat/ppp_cp.c index 9db96d67..00acb73b 100644 --- a/gatchat/ppp_cp.c +++ b/gatchat/ppp_cp.c @@ -523,6 +523,7 @@ static void pppcp_send_terminate_ack(struct pppcp_data *data, { struct pppcp_packet *packet; struct pppcp_packet *pppcp_header = (struct pppcp_packet *) request; + struct pppcp_timer_data *timer_data = &data->terminate_timer_data; pppcp_trace(data); @@ -535,6 +536,7 @@ static void pppcp_send_terminate_ack(struct pppcp_data *data, ntohs(pppcp_header->length)); pppcp_packet_free(packet); + pppcp_start_timer(timer_data); } /* |