X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/14f9ab7993b9e07f16cc3e10dd4f8da3a32d79f2..9de5c06f89388ac423e517df31d3fdd83f306097:/target/linux/generic/files/drivers/net/phy/rtl8366s.c?ds=sidebyside diff --git a/target/linux/generic/files/drivers/net/phy/rtl8366s.c b/target/linux/generic/files/drivers/net/phy/rtl8366s.c index 2d472cfd3..3b7fcce32 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,15 @@ 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; + + err = rtl8366_enable_vlan(smi, 1); + if (err) + return err; + + return rtl8366_enable_all_ports(smi, 1); } static struct switch_attr rtl8366s_globals[] = {