summaryrefslogtreecommitdiffstats
path: root/target/linux/generic/files/drivers/net/phy/rtl8366s.c
diff options
context:
space:
mode:
authorjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>2011-01-08 20:24:26 +0000
committerjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>2011-01-08 20:24:26 +0000
commit5082ee8d9816b9a69cc1a250942fb4dce5aa6357 (patch)
tree8ffcc07804e9101d425fc1a6778dfa091c57700c /target/linux/generic/files/drivers/net/phy/rtl8366s.c
parent14f9ab7993b9e07f16cc3e10dd4f8da3a32d79f2 (diff)
generic: rtl8366: enable ports only after VLAN configuration is done
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@24938 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/generic/files/drivers/net/phy/rtl8366s.c')
-rw-r--r--target/linux/generic/files/drivers/net/phy/rtl8366s.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/target/linux/generic/files/drivers/net/phy/rtl8366s.c b/target/linux/generic/files/drivers/net/phy/rtl8366s.c
index 2d472cfd3..74e0a3029 100644
--- a/target/linux/generic/files/drivers/net/phy/rtl8366s.c
+++ b/target/linux/generic/files/drivers/net/phy/rtl8366s.c
@@ -257,9 +257,6 @@ static int rtl8366s_hw_init(struct rtl8366_smi *smi)
REG_RMW(smi, RTL8366S_SGCR, RTL8366S_SGCR_MAX_LENGTH_MASK,
RTL8366S_SGCR_MAX_LENGTH_1536);
- /* enable all ports */
- REG_WR(smi, RTL8366S_PECR, 0);
-
/* enable learning for all ports */
REG_WR(smi, RTL8366S_SSCR0, 0);
@@ -808,7 +805,11 @@ static int rtl8366s_sw_reset_switch(struct switch_dev *dev)
if (err)
return err;
- return rtl8366_reset_vlan(smi);
+ err = rtl8366_reset_vlan(smi);
+ if (err)
+ return err;
+
+ return rtl8366_enable_all_ports(smi, 1);
}
static struct switch_attr rtl8366s_globals[] = {