From 64533f9b1815f95bd78d42ac8bc8f81c6b9c26f4 Mon Sep 17 00:00:00 2001 From: Shaun Ruffell Date: Fri, 21 Jan 2011 05:27:24 +0000 Subject: [PATCH] wct4xxp: Update span-local struct with timing info dahdi_tool was incorrectly reporting all spans to be in local timing mode. This is because the driver tracks which span it's timing syncs to, within the card local struct "wc". We have to manually go through and copy timing updates to the span local structs because this is what dahdi_tool actually reads. dahdi-526 Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9312 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.4@9654 a0bf4364-ded3-4de4-8d8a-66a801d63aff --- drivers/dahdi/wct4xxp/base.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/drivers/dahdi/wct4xxp/base.c b/drivers/dahdi/wct4xxp/base.c index 6dfc8cb..946631e 100644 --- a/drivers/dahdi/wct4xxp/base.c +++ b/drivers/dahdi/wct4xxp/base.c @@ -2396,7 +2396,7 @@ found: static void __t4_set_timing_source_auto(struct t4 *wc) { - int x; + int x, i; int firstprio, secondprio; firstprio = secondprio = 4; @@ -2455,6 +2455,13 @@ static void __t4_set_timing_source_auto(struct t4 *wc) __t4_set_rclk_src(wc, 0); __t4_set_sclk_src(wc, WC_SELF, 0, 0); } + + /* Propagate sync selection to dahdi_span struct + * this is read by dahdi_tool to display the span's + * master/slave sync information */ + for (i = 0; i < wc->numspans; i++) { + wc->tspans[i]->span.syncsrc = wc->syncsrc + 1; + } } }