diff options
author | Shaun Ruffell <sruffell@digium.com> | 2012-01-10 22:09:29 +0000 |
---|---|---|
committer | Shaun Ruffell <sruffell@digium.com> | 2012-01-10 22:09:29 +0000 |
commit | 90bc4a1a828fb8feeeb3d35e7371ca4f8089f77d (patch) | |
tree | af401ca0ed9679f9cd7f3bb8ae4671f7979b9e83 /drivers/dahdi/xpp/xpp_dahdi.c | |
parent | 9ef16c6d861f3df1315c2985c1433671263c541f (diff) |
xpp: Don't deactivate XPDs on unregistration
* A bug was introduced during migration to dahdi_device code:
http://svnview.digium.com/svn/dahdi?view=rev&rev=10273
* Marking XPDs as non-functional (card_present=0, XPD_STATE_NOHW)
was moved from xbus_request_removal() into xpd_dahdi_preunregister()
* As a result, unregistering an Astribank, made it non-functional
so trying to re-register it later caused errors (e.g: "Cannot open"
error message from xpp_open())
* This fix move XPD deactivation into the proper location (during
xbus_deactivate()
Signed-off-by: Oron Peled <oron.peled@xorcom.com>
Acked-By: Tzafrir Cohen <tzafrir.cohen@xorcom.com>
Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10409
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10418 a0bf4364-ded3-4de4-8d8a-66a801d63aff
Diffstat (limited to 'drivers/dahdi/xpp/xpp_dahdi.c')
-rw-r--r-- | drivers/dahdi/xpp/xpp_dahdi.c | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/drivers/dahdi/xpp/xpp_dahdi.c b/drivers/dahdi/xpp/xpp_dahdi.c index a53f2d2..1bfed84 100644 --- a/drivers/dahdi/xpp/xpp_dahdi.c +++ b/drivers/dahdi/xpp/xpp_dahdi.c @@ -1082,14 +1082,9 @@ int xpd_dahdi_postregister(xpd_t *xpd) */ void xpd_dahdi_preunregister(xpd_t *xpd) { - unsigned long flags; if (!xpd) return; XPD_DBG(DEVICES, xpd, "\n"); - spin_lock_irqsave(&xpd->lock, flags); - xpd->card_present = 0; - xpd_setstate(xpd, XPD_STATE_NOHW); - spin_unlock_irqrestore(&xpd->lock, flags); update_xpd_status(xpd, DAHDI_ALARM_NOTOPEN); if(xpd->card_present) CALL_PHONE_METHOD(card_dahdi_preregistration, xpd, 0); |