diff --git a/src/netif/ppp/auth.c b/src/netif/ppp/auth.c index 3c8bc79f..109c1467 100644 --- a/src/netif/ppp/auth.c +++ b/src/netif/ppp/auth.c @@ -618,7 +618,11 @@ void start_link(unit) * physical layer down. */ void link_terminated(ppp_pcb *pcb) { - if (pcb->phase == PPP_PHASE_DEAD || pcb->phase == PPP_PHASE_MASTER) + if (pcb->phase == PPP_PHASE_DEAD +#ifdef HAVE_MULTILINK + || pcb->phase == PPP_PHASE_MASTER +#endif /* HAVE_MULTILINK */ + ) return; new_phase(pcb, PPP_PHASE_DISCONNECT); @@ -698,7 +702,11 @@ void link_down(ppp_pcb *pcb) { if (!doing_multilink) { upper_layers_down(pcb); - if (pcb->phase != PPP_PHASE_DEAD && pcb->phase != PPP_PHASE_MASTER) + if (pcb->phase != PPP_PHASE_DEAD +#ifdef HAVE_MULTILINK + && pcb->phase != PPP_PHASE_MASTER +#endif /* HAVE_MULTILINK */ + ) new_phase(pcb, PPP_PHASE_ESTABLISH); } /* XXX if doing_multilink, should do something to stop diff --git a/src/netif/ppp/lcp.c b/src/netif/ppp/lcp.c index b17964b2..90ed183b 100644 --- a/src/netif/ppp/lcp.c +++ b/src/netif/ppp/lcp.c @@ -423,7 +423,11 @@ void lcp_close(ppp_pcb *pcb, const char *reason) { fsm *f = &pcb->lcp_fsm; int oldstate; - if (pcb->phase != PPP_PHASE_DEAD && pcb->phase != PPP_PHASE_MASTER) + if (pcb->phase != PPP_PHASE_DEAD +#ifdef HAVE_MULTILINK + && pcb->phase != PPP_PHASE_MASTER +#endif /* HAVE_MULTILINK */ + ) new_phase(pcb, PPP_PHASE_TERMINATE); if (f->flags & DELAYED_UP) {