diff options
author | markster <markster@5390a7c7-147a-4af0-8ec9-7488f05a26cb> | 2003-06-29 04:46:24 +0000 |
---|---|---|
committer | markster <markster@5390a7c7-147a-4af0-8ec9-7488f05a26cb> | 2003-06-29 04:46:24 +0000 |
commit | 60966b82705330cd91d788d651c71d9f55e46966 (patch) | |
tree | 4d9ca1c1799131b3035cc6a4e473545a82c68b0c /zaptel.c | |
parent | 57259a61fe1f92cd56c2e4b4d31ddf23bf42a013 (diff) |
Fix locking issues
git-svn-id: http://svn.digium.com/svn/zaptel/trunk@203 5390a7c7-147a-4af0-8ec9-7488f05a26cb
Diffstat (limited to 'zaptel.c')
-rwxr-xr-x | zaptel.c | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -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; |