From fec8e48603f885f8e70ae67a7f4e71a3b53e292d Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Tue, 8 Dec 2009 14:06:18 +0000 Subject: [PATCH] ar71xx: make the rtl8306 switch attach to eth0 instead of eth1 on the wrt160nl, fixes wan port detection (#6309) git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18699 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- target/linux/ar71xx/base-files/etc/defconfig/wrt160nl/network | 2 +- target/linux/ar71xx/files/arch/mips/ar71xx/mach-wrt160nl.c | 2 +- target/linux/generic-2.6/files/drivers/net/phy/rtl8306.c | 3 +++ 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/target/linux/ar71xx/base-files/etc/defconfig/wrt160nl/network b/target/linux/ar71xx/base-files/etc/defconfig/wrt160nl/network index 24fca72085..974119bd9b 100644 --- a/target/linux/ar71xx/base-files/etc/defconfig/wrt160nl/network +++ b/target/linux/ar71xx/base-files/etc/defconfig/wrt160nl/network @@ -15,7 +15,7 @@ config interface wan option ifname eth1 option proto dhcp -config switch eth1 +config switch eth0 option reset 1 option enable_vlan 1 diff --git a/target/linux/ar71xx/files/arch/mips/ar71xx/mach-wrt160nl.c b/target/linux/ar71xx/files/arch/mips/ar71xx/mach-wrt160nl.c index 0a73be112c..9f5f6f1971 100644 --- a/target/linux/ar71xx/files/arch/mips/ar71xx/mach-wrt160nl.c +++ b/target/linux/ar71xx/files/arch/mips/ar71xx/mach-wrt160nl.c @@ -124,7 +124,7 @@ static void __init wrt160nl_setup(void) ar71xx_add_device_mdio(0x0); ar71xx_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RMII; - ar71xx_eth0_data.phy_mask = 0xf; + ar71xx_eth0_data.phy_mask = 0x01; ar71xx_eth0_data.speed = SPEED_100; ar71xx_eth0_data.duplex = DUPLEX_FULL; diff --git a/target/linux/generic-2.6/files/drivers/net/phy/rtl8306.c b/target/linux/generic-2.6/files/drivers/net/phy/rtl8306.c index 259ff5006f..5c8e81f79d 100644 --- a/target/linux/generic-2.6/files/drivers/net/phy/rtl8306.c +++ b/target/linux/generic-2.6/files/drivers/net/phy/rtl8306.c @@ -913,6 +913,9 @@ rtl8306_fixup(struct phy_device *pdev) struct rtl_priv priv; u16 chipid; + if (pdev->addr != 0) + return 0; + priv.page = -1; priv.bus = pdev->bus; chipid = rtl_get(&priv.dev, RTL_REG_CHIPID);