diff options
-rw-r--r-- | xpp/card_fxo.c | 2 | ||||
-rw-r--r-- | xpp/card_fxs.c | 2 | ||||
-rw-r--r-- | xpp/xbus-core.c | 4 | ||||
-rw-r--r-- | xpp/xpp_usb.c | 2 | ||||
-rw-r--r-- | xpp/xpp_zap.c | 1 |
5 files changed, 10 insertions, 1 deletions
diff --git a/xpp/card_fxo.c b/xpp/card_fxo.c index d383e5d..74b1241 100644 --- a/xpp/card_fxo.c +++ b/xpp/card_fxo.c @@ -211,10 +211,12 @@ static void clean_proc(xbus_t *xbus, xpd_t *xpd) if(priv->xpd_slic) { DBG("Removing xpd DAA file %s/%s\n", xbus->busname, xpd->xpdname); remove_proc_entry(PROC_DAA_FNAME, xpd->proc_xpd_dir); + priv->xpd_slic = NULL; } if(priv->fxo_info) { DBG("Removing xpd FXO_INFO file %s/%s\n", xbus->busname, xpd->xpdname); remove_proc_entry(PROC_FXO_INFO_FNAME, xpd->proc_xpd_dir); + priv->fxo_info = NULL; } #endif } diff --git a/xpp/card_fxs.c b/xpp/card_fxs.c index 1718849..094ed71 100644 --- a/xpp/card_fxs.c +++ b/xpp/card_fxs.c @@ -282,10 +282,12 @@ static void clean_proc(xbus_t *xbus, xpd_t *xpd) DBG("Removing xpd SLIC file %s/%s\n", xbus->busname, xpd->xpdname); priv->xpd_slic->data = NULL; remove_proc_entry(PROC_SLIC_FNAME, xpd->proc_xpd_dir); + priv->xpd_slic = NULL; } if(priv->fxs_info) { DBG("Removing xpd FXS_INFO file %s/%s\n", xbus->busname, xpd->xpdname); remove_proc_entry(PROC_FXS_INFO_FNAME, xpd->proc_xpd_dir); + priv->fxs_info = NULL; } #endif } diff --git a/xpp/xbus-core.c b/xpp/xbus-core.c index 5a85f8b..437ea5e 100644 --- a/xpp/xbus-core.c +++ b/xpp/xbus-core.c @@ -809,8 +809,10 @@ static void xbus_core_cleanup(void) xpp_worker = NULL; } #ifdef CONFIG_PROC_FS - if(proc_xbuses) + if(proc_xbuses) { remove_proc_entry(PROC_XBUSES, xpp_proc_toplevel); + proc_xbuses = NULL; + } #endif if(packet_cache) kmem_cache_destroy(packet_cache); diff --git a/xpp/xpp_usb.c b/xpp/xpp_usb.c index 4f81680..1a62974 100644 --- a/xpp/xpp_usb.c +++ b/xpp/xpp_usb.c @@ -662,6 +662,7 @@ probe_failed: if(procsummary) { DBG("Remove proc_entry: " PROC_USBXPP_SUMMARY "\n"); remove_proc_entry(PROC_USBXPP_SUMMARY, xbus->proc_xbus_dir); + procsummary = NULL; } xbus_disconnect(xbus); // Blocking until fully deactivated! } @@ -705,6 +706,7 @@ static void xusb_disconnect(struct usb_interface *interface) #ifdef CONFIG_PROC_FS if(xbus->proc_xbus_dir) { remove_proc_entry(PROC_USBXPP_SUMMARY, xbus->proc_xbus_dir); + xbus->proc_xbus_dir = NULL; } #endif xusb->present = 0; diff --git a/xpp/xpp_zap.c b/xpp/xpp_zap.c index fc61af0..e1d15ed 100644 --- a/xpp/xpp_zap.c +++ b/xpp/xpp_zap.c @@ -1491,6 +1491,7 @@ static void do_cleanup(void) remove_proc_entry(PROC_SYNC, xpp_proc_toplevel); if(xpp_proc_toplevel) { remove_proc_entry(PROC_DIR, NULL); + xpp_proc_toplevel = NULL; } #endif } |