X-Git-Url: http://git.ozo.com/?a=blobdiff_plain;f=package%2Fkernel%2Flantiq%2Fltq-atm%2Fsrc%2Fltq_atm.c;h=1208dd87dd1ec2983e6bc78d4819b5aea6e29481;hb=42b753d3f5b746f828fe737ccaba1682764302f9;hp=658dfdc2c5f116d53aaf038e7e7804880fed362e;hpb=aaca255f379ecbfe9624296fdb4ac1b64f7b1d1d;p=openwrt-working-2016%2F.git diff --git a/package/kernel/lantiq/ltq-atm/src/ltq_atm.c b/package/kernel/lantiq/ltq-atm/src/ltq_atm.c index 658dfdc2c5..1208dd87dd 100644 --- a/package/kernel/lantiq/ltq-atm/src/ltq_atm.c +++ b/package/kernel/lantiq/ltq-atm/src/ltq_atm.c @@ -1715,7 +1715,7 @@ static inline void init_tx_tables(void) static int atm_showtime_enter(struct port_cell_info *port_cell, void *xdata_addr) { - int i, j; + int i, j, port_num; ASSERT(port_cell != NULL, "port_cell is NULL"); ASSERT(xdata_addr != NULL, "xdata_addr is NULL"); @@ -1738,6 +1738,9 @@ static int atm_showtime_enter(struct port_cell_info *port_cell, void *xdata_addr g_showtime = 1; + for ( port_num = 0; port_num < ATM_PORT_NUMBER; port_num++ ) + atm_dev_signal_change(g_atm_priv_data.port[port_num].dev, ATM_PHY_SIG_FOUND); + #if defined(CONFIG_VR9) IFX_REG_W32(0x0F, UTP_CFG); #endif @@ -1752,12 +1755,18 @@ static int atm_showtime_enter(struct port_cell_info *port_cell, void *xdata_addr static int atm_showtime_exit(void) { + int port_num; + if ( !g_showtime ) return -1; #if defined(CONFIG_VR9) IFX_REG_W32(0x00, UTP_CFG); #endif + + for ( port_num = 0; port_num < ATM_PORT_NUMBER; port_num++ ) + atm_dev_signal_change(g_atm_priv_data.port[port_num].dev, ATM_PHY_SIG_LOST); + g_showtime = 0; g_xdata_addr = NULL; printk("leave showtime\n"); @@ -1824,6 +1833,10 @@ static int ltq_atm_probe(struct platform_device *pdev) g_atm_priv_data.port[port_num].dev->ci_range.vci_bits = 16; g_atm_priv_data.port[port_num].dev->link_rate = g_atm_priv_data.port[port_num].tx_max_cell_rate; g_atm_priv_data.port[port_num].dev->dev_data = (void*)port_num; + +#if defined(CONFIG_IFXMIPS_DSL_CPE_MEI) || defined(CONFIG_IFXMIPS_DSL_CPE_MEI_MODULE) + atm_dev_signal_change(g_atm_priv_data.port[port_num].dev, ATM_PHY_SIG_LOST); +#endif } }