summaryrefslogtreecommitdiff
path: root/drivers/dahdi/dahdi_dynamic.c
diff options
context:
space:
mode:
authorShaun Ruffell <sruffell@digium.com>2009-06-26 17:22:45 +0000
committerShaun Ruffell <sruffell@digium.com>2009-06-26 17:22:45 +0000
commit2f81ff1484bfaceeaff604a958e346e77c13cd0d (patch)
tree5a434f3ee48a3c2aa3870c35450cfe53779c5b37 /drivers/dahdi/dahdi_dynamic.c
parentfb5e002605ea95dfbbff6e7bdd8a4e84ce064cbf (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.c2
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;
}