diff options
author | Shaun Ruffell <sruffell@digium.com> | 2009-06-26 17:22:45 +0000 |
---|---|---|
committer | Shaun Ruffell <sruffell@digium.com> | 2009-06-26 17:22:45 +0000 |
commit | 02ac882d037f13beac1179ac202c0f147dedd539 (patch) | |
tree | 5a434f3ee48a3c2aa3870c35450cfe53779c5b37 /drivers/dahdi/dahdi_dynamic.c | |
parent | 889bfebfa6d46b65c1d15634b2f18589a311d41f (diff) |
dahdi_dynamic: Release the dlock before calling accross modules.
Resolves a hard lock due to a recursive spinlock grab at startup.
Reported by: mapacheco
(closes issue #15210)
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@6771 a0bf4364-ded3-4de4-8d8a-66a801d63aff
Diffstat (limited to 'drivers/dahdi/dahdi_dynamic.c')
-rw-r--r-- | drivers/dahdi/dahdi_dynamic.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/dahdi/dahdi_dynamic.c b/drivers/dahdi/dahdi_dynamic.c index 2e674fa..2a5c267 100644 --- a/drivers/dahdi/dahdi_dynamic.c +++ b/drivers/dahdi/dahdi_dynamic.c @@ -239,7 +239,9 @@ static void __ztdynamic_run(void) dahdi_receive(&z->span); dahdi_transmit(&z->span); /* Handle all transmissions now */ + spin_unlock_irqrestore(&dlock, flags); ztd_sendmessage(z); + spin_lock_irqsave(&dlock, flags); } z = z->next; } |