From 60966b82705330cd91d788d651c71d9f55e46966 Mon Sep 17 00:00:00 2001 From: markster Date: Sun, 29 Jun 2003 04:46:24 +0000 Subject: Fix locking issues git-svn-id: http://svn.digium.com/svn/zaptel/trunk@203 5390a7c7-147a-4af0-8ec9-7488f05a26cb --- zaptel.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/zaptel.c b/zaptel.c index bd2ac96..6a5c2e7 100755 --- a/zaptel.c +++ b/zaptel.c @@ -2910,7 +2910,9 @@ static int zt_ctl_ioctl(struct inode *inode, struct file *file, unsigned int cmd /* if same, ignore it */ if (i == maint.command) break; rv = spans[maint.spanno]->maint(spans[maint.spanno], maint.command); + spin_unlock_irqrestore(&spans[maint.spanno]->lock, flags); if (rv) return rv; + spin_lock_irqsave(&spans[maint.spanno]->lock, flags); break; case ZT_MAINT_LOOPUP: case ZT_MAINT_LOOPDOWN: @@ -3815,6 +3817,7 @@ int zt_register(struct zt_span *span, int prefmaster) } span->flags |= ZT_FLAG_REGISTERED; span->spanno = x; + spin_lock_init(&span->lock); if (!span->deflaw) { printk("zaptel: Span %s didn't specify default law. Assuming mulaw, please fix driver!\n", span->name); span->deflaw = ZT_LAW_MULAW; -- cgit v1.2.3