diff options
author | juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2011-01-08 20:24:26 +0000 |
---|---|---|
committer | juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2011-01-08 20:24:26 +0000 |
commit | 5082ee8d9816b9a69cc1a250942fb4dce5aa6357 (patch) | |
tree | 8ffcc07804e9101d425fc1a6778dfa091c57700c /target/linux/generic/files/drivers/net/phy/rtl8366rb.c | |
parent | 14f9ab7993b9e07f16cc3e10dd4f8da3a32d79f2 (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/rtl8366rb.c')
-rw-r--r-- | target/linux/generic/files/drivers/net/phy/rtl8366rb.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/target/linux/generic/files/drivers/net/phy/rtl8366rb.c b/target/linux/generic/files/drivers/net/phy/rtl8366rb.c index 492ed25351..847d666dd2 100644 --- a/target/linux/generic/files/drivers/net/phy/rtl8366rb.c +++ b/target/linux/generic/files/drivers/net/phy/rtl8366rb.c @@ -274,9 +274,6 @@ static int rtl8366rb_hw_init(struct rtl8366_smi *smi) REG_RMW(smi, RTL8366RB_SGCR, RTL8366RB_SGCR_MAX_LENGTH_MASK, RTL8366RB_SGCR_MAX_LENGTH_1536); - /* enable all ports */ - REG_WR(smi, RTL8366RB_PECR, 0); - /* enable learning for all ports */ REG_WR(smi, RTL8366RB_SSCR0, 0); @@ -962,7 +959,11 @@ static int rtl8366rb_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 rtl8366rb_globals[] = { |