dahdi-linux/drivers/dahdi/wctdm24xxp
Shaun Ruffell 8bf0434896 wctdm24xxp: Eliminate chance for channel to be stuck in RED alarm.
There was a code patch where it was possible to get stuck in RED ALARM on a
channel when debouncing the battery states. The state transitions would look
like this:

BATTERY_PRESENT -> BATTERY_DEBOUNCING_LOST -> BATTERY_DEBOUNCING_LOST_ALARM --
(send alarm up to asterisk) --> BATTERY_LOST -> BATTERY_DEBOUNCING_PRESENT ->
BATTERY_DEBOUNCING_PRESENT_ALARM -> BATTERY_DEBOUNCING_LOST -> BATTERY_PRESENT

In the above sequence there was never any transition from
BATTERY_DEBOUNCING_PRESENT_ALARM to BATTERY_PRESENT so the alarm to Asterisk was
never cleared and the channel stayed stuck.

Now when you loose battery when in the BATTERY_DEBOUNCING_PRESENT_ALARM go all
the way back to the BATTERY_LOST state instead of the BATTERY_DEBOUNCING_LOST
state so that all the events are properly sent up.

This fixes a regression introduced in 2.6.0 with commit (r10169 "wctdm24xxp: Use
interval for debouncing FXO battery." 874b76bd22).

Internal-Issue-ID: DAHDI-1019
Signed-off-by: Shaun Ruffell <sruffell@digium.com>
2013-01-25 11:43:54 -06:00
..
base.c wctdm24xxp: Eliminate chance for channel to be stuck in RED alarm. 2013-01-25 11:43:54 -06:00
Kbuild wct4xxp: Moving the transmit short detection behind debug module param. 2010-08-27 21:59:27 +00:00
wctdm24xxp.h dahdi: Register devices instead of individual spans. 2011-10-26 18:58:14 +00:00
xhfc.c convert span->spantype to enumerated type 2012-05-23 12:20:23 +00:00
xhfc.h wctdm24xxp: Pass the pointer to struct wctdm_module directly instead of index. 2011-06-02 20:03:15 +00:00