diff options
Diffstat (limited to 'wct4xxp.c')
-rwxr-xr-x | wct4xxp.c | 7 |
1 files changed, 5 insertions, 2 deletions
@@ -1299,8 +1299,11 @@ static void __t4_check_alarms(struct t4 *wc, int span) alarms |= ZT_ALARM_LOOPBACK; wc->spans[span].alarms = alarms; - /* Re-check the timing source when we enter alarm */ - if (!oldalarms && alarms) + /* Re-check the timing source when we enter/leave alarm, not withstanding + yellow alarm */ + oldalarms &= ~ZT_ALARM_YELLOW; + alarms &= ~ZT_ALARM_YELLOW; + if ((!oldalarms && alarms) || (oldalarms && !alarms)) t4_set_timing_source_auto(wc); zt_alarm_notify(&wc->spans[span]); |