diff options
Diffstat (limited to 'drivers/dahdi/dahdi-base.c')
-rw-r--r-- | drivers/dahdi/dahdi-base.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/dahdi/dahdi-base.c b/drivers/dahdi/dahdi-base.c index 70edabc..9b407e3 100644 --- a/drivers/dahdi/dahdi-base.c +++ b/drivers/dahdi/dahdi-base.c @@ -5188,8 +5188,7 @@ static int dahdi_ioctl_maint(unsigned long data) spin_lock_irqsave(&s->lock, flags); /* save current maint state */ i = s->maintstat; - /* set maint mode */ - s->maintstat = maint.command; + switch (maint.command) { case DAHDI_MAINT_NONE: case DAHDI_MAINT_LOCALLOOP: @@ -5248,6 +5247,10 @@ static int dahdi_ioctl_maint(unsigned long data) put_span(s); return -ENOSYS; } + + /* set maint mode */ + s->maintstat = maint.command; + dahdi_alarm_notify(s); /* process alarm-related events */ spin_unlock_irqrestore(&s->lock, flags); put_span(s); |