diff options
author | Martin Schiller <ms@dev.tdt.de> | 2017-06-29 06:54:00 +0200 |
---|---|---|
committer | Mathias Kresin <dev@kresin.me> | 2017-08-06 09:22:03 +0200 |
commit | 2d6c7c2526b6cc522975e27c26cd1d42ebb7bcd1 (patch) | |
tree | 52d9bbaa6b564a270c68fb246b385c6c2544d19f /package/kernel/lantiq | |
parent | 0481a2a2c5b85e82d3b7a55ee556c1a23dd1c135 (diff) | |
download | upstream-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.c | 10 | ||||
-rw-r--r-- | package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_adsl.c | 3 | ||||
-rw-r--r-- | package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_vdsl.c | 5 |
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; |