summaryrefslogtreecommitdiff
path: root/package/kernel/lantiq/ltq-ptm
diff options
context:
space:
mode:
authorJohn Crispin <john@openwrt.org>2015-03-05 20:25:18 +0000
committerJohn Crispin <john@openwrt.org>2015-03-05 20:25:18 +0000
commit0d414e1c78bf85232e9597a53a715974578ede6c (patch)
treec510c8ebcde4d72daa09ce408cc61e3774f4e351 /package/kernel/lantiq/ltq-ptm
parent700a53f8e26898cc12f87d1e8902c6071772fece (diff)
downloadmtk-20170518-0d414e1c78bf85232e9597a53a715974578ede6c.zip
mtk-20170518-0d414e1c78bf85232e9597a53a715974578ede6c.tar.gz
mtk-20170518-0d414e1c78bf85232e9597a53a715974578ede6c.tar.bz2
lantiq: fix netdev setup in ltq-ptm-vdsl
The initial fix for 3.18 in r44346 wrongly treated the newly added parameter of alloc_netdev to be another function pointer, causing ether_config to be skipped during ptm netdev init. Fix this by partially reverting r44346 and properly setting the newly added macro parameter. (Tested on VRX200 board) A similar change might be needed for ltq-ptm-adsl as well. Signed-off-by: Daniel Golle <daniel@makrotopia.org> SVN-Revision: 44607
Diffstat (limited to 'package/kernel/lantiq/ltq-ptm')
-rw-r--r--package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_vdsl.c8
1 files changed, 4 insertions, 4 deletions
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 9c25c15..b328261 100644
--- a/package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_vdsl.c
+++ b/package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_vdsl.c
@@ -66,7 +66,7 @@ unsigned long cgu_get_pp32_clock(void)
return rate;
}
-static void ptm_setup(struct net_device *);
+static void ptm_setup(struct net_device *, int);
static struct net_device_stats *ptm_get_stats(struct net_device *);
static int ptm_open(struct net_device *);
static int ptm_stop(struct net_device *);
@@ -134,9 +134,8 @@ unsigned int ifx_ptm_dbg_enable = DBG_ENABLE_MASK_ERR;
* ####################################
*/
-static void ptm_setup(struct net_device *dev)
+static void ptm_setup(struct net_device *dev, int ndev)
{
- int ndev = 0;
dev->netdev_ops = &g_ptm_netdev_ops;
netif_napi_add(dev, &g_ptm_priv_data.itf[ndev].napi, ptm_napi_poll, 16);
dev->watchdog_timeo = ETH_WATCHDOG_TIMEOUT;
@@ -952,9 +951,10 @@ static int ifx_ptm_init(void)
}
for ( i = 0; i < ARRAY_SIZE(g_net_dev); i++ ) {
- g_net_dev[i] = alloc_netdev(0, g_net_dev_name[i], ether_setup, ptm_setup);
+ g_net_dev[i] = alloc_netdev(0, g_net_dev_name[i], NET_NAME_UNKNOWN, ether_setup);
if ( g_net_dev[i] == NULL )
goto ALLOC_NETDEV_FAIL;
+ ptm_setup(g_net_dev[i], i);
}
for ( i = 0; i < ARRAY_SIZE(g_net_dev); i++ ) {