summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKristen Carlson Accardi <kristen@linux.intel.com>2010-04-29 11:03:09 -0700
committerDenis Kenzior <denkenz@gmail.com>2010-04-29 14:24:47 -0500
commit9d5eb5110ff395613509e4ad4d2f2dd713b57b23 (patch)
treea6de57d0708670f5abd528a7edb7dd05dec82cb8
parentc9edf56fc69bdf79eeb7cbd11917d6455d098784 (diff)
downloadofono-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.c2
-rw-r--r--gatchat/ppp_cp.c2
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);
}
/*