From 19fdeae4ba28302bbb0275823c6242bed9727d34 Mon Sep 17 00:00:00 2001 From: Sylvain Rochet Date: Tue, 17 Feb 2015 23:09:18 +0100 Subject: [PATCH] PPP, chained returns up to ppp_free() ppp_free() now returns lower level protocol return value if something failed. --- src/netif/ppp/ppp.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/netif/ppp/ppp.c b/src/netif/ppp/ppp.c index b562f040..e03f9d52 100644 --- a/src/netif/ppp/ppp.c +++ b/src/netif/ppp/ppp.c @@ -320,6 +320,7 @@ ppp_sighup(ppp_pcb *pcb) * Return 0 on success, an error code on failure. */ int ppp_free(ppp_pcb *pcb) { + int err; if (pcb->phase != PPP_PHASE_DEAD) { return PPPERR_PARAM; } @@ -328,10 +329,10 @@ int ppp_free(ppp_pcb *pcb) { netif_remove(pcb->netif); - pcb->link_command_cb(pcb->link_ctx_cb, PPP_LINK_COMMAND_FREE); + err = pcb->link_command_cb(pcb->link_ctx_cb, PPP_LINK_COMMAND_FREE); memp_free(MEMP_PPP_PCB, pcb); - return 0; + return err; } /* Get and set parameters for the given connection.