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>
openwrt-18.06
Martin Schiller 2017-06-29 06:54:00 +02:00 committed by Mathias Kresin
parent 0481a2a2c5
commit 2d6c7c2526
3 changed files with 10 additions and 8 deletions

View File

@ -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;

View File

@ -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;

View File

@ -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;