From c6eb178da3c540634a737e98fd9cbf30b8b90394 Mon Sep 17 00:00:00 2001 From: Russ Meyerriecks Date: Wed, 8 Sep 2010 21:50:48 +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 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9312 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; + } } }