From 10ee69aef58f52cb24326ec11a356d0813e3f54d Mon Sep 17 00:00:00 2001 From: Andreas Eversberg Date: Wed, 30 Sep 2009 14:23:23 +0200 Subject: [PATCH] Fixed bug when closing mISDN port. modified: mISDN.cpp --- mISDN.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/mISDN.cpp b/mISDN.cpp index c92e427..ce885d9 100644 --- a/mISDN.cpp +++ b/mISDN.cpp @@ -2378,13 +2378,15 @@ void mISDNport_close(struct mISDNport *mISDNport) int i; /* remove all port instance that are linked to this mISDNport */ + again: port = port_first; while(port) { if ((port->p_type&PORT_CLASS_MASK) == PORT_CLASS_mISDN) { isdnport = (class PmISDN *)port; - if (isdnport->p_m_mISDNport) { + if (isdnport->p_m_mISDNport && isdnport->p_m_mISDNport == mISDNport) { PDEBUG(DEBUG_ISDN, "port %s uses mISDNport %d, destroying it.\n", isdnport->p_name, mISDNport->portnum); delete isdnport; + goto again; } } port = port->next; -- 2.13.6