diff options
Diffstat (limited to 'accel-pppd/ppp')
-rw-r--r-- | accel-pppd/ppp/ppp_ccp.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/accel-pppd/ppp/ppp_ccp.c b/accel-pppd/ppp/ppp_ccp.c index 7c191915..9b7ac3e7 100644 --- a/accel-pppd/ppp/ppp_ccp.c +++ b/accel-pppd/ppp/ppp_ccp.c @@ -159,7 +159,6 @@ void ccp_layer_finish(struct ppp_layer_data_t *ld) ccp_set_flags(ccp->ppp->unit_fd, 0, 0); ccp->fsm.fsm_state = FSM_Closed; - ccp->ppp->ccp_started = 1; log_ppp_debug("ccp_layer_finished\n"); ppp_layer_finished(ccp->ppp, &ccp->ld); @@ -201,10 +200,11 @@ static void ccp_layer_down(struct ppp_fsm_t *fsm) log_ppp_debug("ccp_layer_finished\n"); ccp->ppp->ccp_started = 1; - if (!ccp->started) + if (!ccp->started) { + ccp->started = 1; + ppp_fsm_close(fsm); ppp_layer_started(ccp->ppp, &ccp->ld); - ccp->started = 0; - ppp_layer_finished(ccp->ppp, &ccp->ld); + } } static void print_ropt(struct recv_opt_t *ropt) |