diff options
author | tzafrir <tzafrir@5390a7c7-147a-4af0-8ec9-7488f05a26cb> | 2007-11-14 14:53:28 +0000 |
---|---|---|
committer | tzafrir <tzafrir@5390a7c7-147a-4af0-8ec9-7488f05a26cb> | 2007-11-14 14:53:28 +0000 |
commit | 32fe307d161209d3ea138065691d04bd6f4d6edc (patch) | |
tree | f14ae85be479e0700da25eaa8744003200966aee | |
parent | 3cb14617276c5dbfd90c3fe3039eda7b16e38aeb (diff) |
Fix a deadlock spotted on some SMP installations.
git-svn-id: http://svn.digium.com/svn/zaptel/branches/1.2@3229 5390a7c7-147a-4af0-8ec9-7488f05a26cb
-rw-r--r-- | xpp/xpp_zap.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/xpp/xpp_zap.c b/xpp/xpp_zap.c index 67de877..aabc236 100644 --- a/xpp/xpp_zap.c +++ b/xpp/xpp_zap.c @@ -1364,7 +1364,7 @@ static void do_ec(xpd_t *xpd) struct zt_chan *chans = xpd->span.chans; int i; -#if WITH_ECHO_SUPPRESSION +#ifdef WITH_ECHO_SUPPRESSION /* FIXME: need to Echo cancel double buffered data */ for (i = 0;i < xpd->span.channels; i++) { if(unlikely(IS_SET(xpd->digital_signalling, i))) /* Don't echo cancel PRI/BRI D-chans */ @@ -1419,12 +1419,12 @@ static void xpp_receiveprep(xpd_t *xpd) memset(chans[i].readchunk, 0x7F, ZT_CHUNKSIZE); // SILENCE } } - do_ec(xpd); spin_unlock_irqrestore(&xpd->lock, flags); /* * This should be out of spinlocks, as it may call back our hook setting * methods */ + do_ec(xpd); zt_receive(&xpd->span); } @@ -1775,7 +1775,7 @@ int __init xpp_zap_init(void) INFO("revision %s MAX_XPDS=%d (%d*%d)\n", XPP_VERSION, MAX_XPDS, MAX_UNIT, MAX_SUBUNIT); -#if WITH_ECHO_SUPPRESSION +#ifdef WITH_ECHO_SUPPRESSION INFO("FEATURE: with ECHO_SUPPRESSION\n"); #else INFO("FEATURE: without ECHO_SUPPRESSION\n"); |