X-Git-Url: http://git.ozo.com/?p=openwrt-10.03%2F.git;a=blobdiff_plain;f=target%2Flinux%2Fgeneric-2.6%2Ffiles%2Fdrivers%2Fnet%2Fphy%2Frtl8366s.c;fp=target%2Flinux%2Fgeneric-2.6%2Ffiles%2Fdrivers%2Fnet%2Fphy%2Frtl8366s.c;h=45da8fd8e582b7ebac0acadc0f6d533d942d2e7c;hp=91030ac48e882bb33f29a215cab8b19d54a854b3;hb=c56ed47f65d15e972d7c75ba4633984bb669ad3e;hpb=be1b70d4b621506bee4cf7a1ab07ce9716716812 diff --git a/target/linux/generic-2.6/files/drivers/net/phy/rtl8366s.c b/target/linux/generic-2.6/files/drivers/net/phy/rtl8366s.c index 91030ac48..45da8fd8e 100644 --- a/target/linux/generic-2.6/files/drivers/net/phy/rtl8366s.c +++ b/target/linux/generic-2.6/files/drivers/net/phy/rtl8366s.c @@ -112,6 +112,7 @@ #define RTL8366S_VLAN_MEMCONF_BASE 0x0016 +#define RTL8366S_VLAN_MEMBERINGRESS_REG 0x0379 #define RTL8366S_PORT_LINK_STATUS_BASE 0x0060 #define RTL8366S_PORT_STATUS_SPEED_MASK 0x0003 @@ -299,6 +300,12 @@ static int rtl8366s_hw_init(struct rtl8366_smi *smi) /* disable auto ageing for all ports */ REG_WR(smi, RTL8366S_SSCR1, RTL8366S_PORT_ALL); + /* + * discard VLAN tagged packets if the port is not a member of + * the VLAN with which the packets is associated. + */ + REG_WR(smi, RTL8366S_VLAN_MEMBERINGRESS_REG, RTL8366S_PORT_ALL); + /* don't drop packets whose DA has not been learned */ REG_RMW(smi, RTL8366S_SSCR2, RTL8366S_SSCR2_DROP_UNKNOWN_DA, 0);