aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/lantiq
diff options
context:
space:
mode:
authorMartin Schiller <ms@dev.tdt.de>2017-06-29 06:54:00 +0200
committerMathias Kresin <dev@kresin.me>2017-08-06 09:22:03 +0200
commit2d6c7c2526b6cc522975e27c26cd1d42ebb7bcd1 (patch)
tree52d9bbaa6b564a270c68fb246b385c6c2544d19f /package/kernel/lantiq
parent0481a2a2c5b85e82d3b7a55ee556c1a23dd1c135 (diff)
downloadupstream-2d6c7c2526b6cc522975e27c26cd1d42ebb7bcd1.tar.gz
upstream-2d6c7c2526b6cc522975e27c26cd1d42ebb7bcd1.tar.bz2
upstream-2d6c7c2526b6cc522975e27c26cd1d42ebb7bcd1.zip
lantiq: ltq-atm/ltq-ptm: fix showtime handling on driver load
This is needed to be able to load the ltq-atm/ltq-ptm driver from a notify script during synchronization, because the line can reach showtime state before the driver is fully loaded. Signed-off-by: Martin Schiller <ms@dev.tdt.de>
Diffstat (limited to 'package/kernel/lantiq')
-rw-r--r--package/kernel/lantiq/ltq-atm/src/ltq_atm.c10
-rw-r--r--package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_adsl.c3
-rw-r--r--package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_vdsl.c5
3 files changed, 10 insertions, 8 deletions
diff --git a/package/kernel/lantiq/ltq-atm/src/ltq_atm.c b/package/kernel/lantiq/ltq-atm/src/ltq_atm.c
index 1208dd87dd..a08fa22ce2 100644
--- a/package/kernel/lantiq/ltq-atm/src/ltq_atm.c
+++ b/package/kernel/lantiq/ltq-atm/src/ltq_atm.c
@@ -1866,15 +1866,11 @@ static int ltq_atm_probe(struct platform_device *pdev)
port_cell.port_num = ATM_PORT_NUMBER;
ifx_mei_atm_showtime_check(&g_showtime, &port_cell, &g_xdata_addr);
if ( g_showtime ) {
- for ( i = 0; i < ATM_PORT_NUMBER; i++ )
- if ( port_cell.tx_link_rate[i] != 0 )
- break;
- for ( j = 0; j < ATM_PORT_NUMBER; j++ )
- g_atm_priv_data.port[j].tx_max_cell_rate =
- port_cell.tx_link_rate[j] != 0 ? port_cell.tx_link_rate[j] : port_cell.tx_link_rate[i];
+ atm_showtime_enter(&port_cell, &g_xdata_addr);
+ } else {
+ qsb_global_set();
}
- qsb_global_set();
validate_oam_htu_entry();
ifx_mei_atm_showtime_enter = atm_showtime_enter;
diff --git a/package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_adsl.c b/package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_adsl.c
index 00a967b34b..4ce2e90ccd 100644
--- a/package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_adsl.c
+++ b/package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_adsl.c
@@ -1518,6 +1518,9 @@ static int ifx_ptm_init(void)
port_cell.port_num = 1;
ifx_mei_atm_showtime_check(&g_showtime, &port_cell, &xdata_addr);
+ if ( g_showtime ) {
+ ptm_showtime_enter(&port_cell, &g_xdata_addr);
+ }
ifx_mei_atm_showtime_enter = ptm_showtime_enter;
ifx_mei_atm_showtime_exit = ptm_showtime_exit;
diff --git a/package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_vdsl.c b/package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_vdsl.c
index 0a357f1742..22f1e23c4a 100644
--- a/package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_vdsl.c
+++ b/package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_vdsl.c
@@ -1022,7 +1022,10 @@ static int ifx_ptm_init(void)
enable_irq(PPE_MAILBOX_IGU1_INT);
ifx_mei_atm_showtime_check(&g_showtime, &port_cell, &g_xdata_addr);
-
+ if ( g_showtime ) {
+ ptm_showtime_enter(&port_cell, &g_xdata_addr);
+ }
+
ifx_mei_atm_showtime_enter = ptm_showtime_enter;
ifx_mei_atm_showtime_exit = ptm_showtime_exit;