summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRuss Meyerriecks <rmeyerreicks@digium.com>2009-09-14 20:30:24 +0000
committerRuss Meyerriecks <rmeyerreicks@digium.com>2009-09-14 20:30:24 +0000
commitd766adf4e70c9bb12fa3964ad8775c9f68737f9c (patch)
tree6fc7b07addc916c346c7916f2588f3f20fad4ca7
parent3f7b5175a417301b4e4d63b291c441da9f6c0d0d (diff)
Fixed issue where the clear channel flags were not being set at the appropriate time causing a channel re-configure to mis-set the last channel in each span
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@7110 a0bf4364-ded3-4de4-8d8a-66a801d63aff
-rw-r--r--drivers/dahdi/dahdi-base.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/dahdi/dahdi-base.c b/drivers/dahdi/dahdi-base.c
index c1c28c8..6f11b4b 100644
--- a/drivers/dahdi/dahdi-base.c
+++ b/drivers/dahdi/dahdi-base.c
@@ -4094,9 +4094,6 @@ static int dahdi_ctl_ioctl(struct inode *inode, struct file *file, unsigned int
if ((sigcap & ch.sigtype) != ch.sigtype)
res = -EINVAL;
- if (!res && chans[ch.chan]->span->chanconfig)
- res = chans[ch.chan]->span->chanconfig(chans[ch.chan], ch.sigtype);
-
if (chans[ch.chan]->master != chans[ch.chan]) {
struct dahdi_chan *oldmaster = chans[ch.chan]->master;
@@ -4167,6 +4164,12 @@ static int dahdi_ctl_ioctl(struct inode *inode, struct file *file, unsigned int
else
chans[ch.chan]->flags &= ~DAHDI_FLAG_MTP2;
}
+
+ if (!res && chans[ch.chan]->span->chanconfig){
+ res = chans[ch.chan]->span->chanconfig(chans[ch.chan],
+ ch.sigtype);
+ }
+
#ifdef CONFIG_DAHDI_NET
if (!res &&
(newmaster == chans[ch.chan]) &&