diff options
author | Shaun Ruffell <sruffell@digium.com> | 2008-10-31 17:11:02 +0000 |
---|---|---|
committer | Shaun Ruffell <sruffell@digium.com> | 2008-10-31 17:11:02 +0000 |
commit | b474b2743e9ced7315cc34dfcad95f37fbc55f92 (patch) | |
tree | cc619e0c9057ba4b568cb04b4c3f015a32fa8111 /drivers/dahdi/wcb4xxp/base.c | |
parent | 606a34888f058cf2806307fe671a04896d765ae4 (diff) |
Fix for a case where a span might not always come back up after a disconnect.
Patch provided by akohlsmith.
Issue: DAHDI-174
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@5186 a0bf4364-ded3-4de4-8d8a-66a801d63aff
Diffstat (limited to 'drivers/dahdi/wcb4xxp/base.c')
-rw-r--r-- | drivers/dahdi/wcb4xxp/base.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/dahdi/wcb4xxp/base.c b/drivers/dahdi/wcb4xxp/base.c index 7b368ab..9c959eb 100644 --- a/drivers/dahdi/wcb4xxp/base.c +++ b/drivers/dahdi/wcb4xxp/base.c @@ -1130,6 +1130,10 @@ static void hfc_timer_expire(struct b4xxp_span *s, int t_no) * T2 is not actually used in the driver, it is handled by the HFC-4S internally. * T3 is used by the TE state machine; it is the maximum time the TE side should wait for the INFO4 (activated) signal. */ + +/* First, disable the expired timer; hfc_force_st_state() may activate it again. */ + s->hfc_timer_on[t_no] = 0; + switch(t_no) { case HFC_T1: /* switch to G4 (pending deact.), resume auto mode */ hfc_force_st_state(b4, s->port, 4, 1); @@ -1144,9 +1148,6 @@ static void hfc_timer_expire(struct b4xxp_span *s, int t_no) if(printk_ratelimit()) dev_warn(b4->dev, "hfc_timer_expire found an unknown expired timer (%d)??\n", t_no); } - -/* disable the expired timer */ - s->hfc_timer_on[t_no] = 0; } /* |