From ef06cf0c864cbaafcaa7d3c93d5bd86c93a6e9f8 Mon Sep 17 00:00:00 2001
From: François Cachereul <f.cachereul@alphalink.fr>
Date: Tue, 12 Jul 2016 15:57:00 +0200
Subject: Revert "ppp: futher improvement of distablish_ppp function"
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

This reverts commit 07ca3acb40df7668cfd0c6abbdcefc21d944d993.

Signed-off-by: François Cachereul <f.cachereul@alphalink.fr>
---
 accel-pppd/ppp/ppp.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

(limited to 'accel-pppd/ppp/ppp.c')

diff --git a/accel-pppd/ppp/ppp.c b/accel-pppd/ppp/ppp.c
index 264ae136..cfc6aca1 100644
--- a/accel-pppd/ppp/ppp.c
+++ b/accel-pppd/ppp/ppp.c
@@ -238,9 +238,8 @@ static void destablish_ppp(struct ppp_t *ppp)
 {
 	struct pppunit_cache *uc = NULL;
 
-	ap_session_finished(&ppp->ses);
-
 	if (ppp->unit_fd < 0) {
+		ap_session_finished(&ppp->ses);
 		destroy_ppp_channel(ppp);
 		return;
 	}
@@ -253,10 +252,15 @@ static void destablish_ppp(struct ppp_t *ppp)
 			strncpy(ifr.ifr_name, ppp->ses.ifname, IFNAMSIZ);
 			if (net->sock_ioctl(SIOCSIFNAME, &ifr)) {
 				triton_md_unregister_handler(&ppp->unit_hnd, 1);
+				ap_session_finished(&ppp->ses);
 				goto skip;
 			}
 		}
+	}
 
+	ap_session_finished(&ppp->ses);
+
+	if (conf_unit_cache) {
 		triton_md_unregister_handler(&ppp->unit_hnd, 0);
 
 		uc = mempool_alloc(uc_pool);
-- 
cgit v1.2.3