|
|
@@ -189,7 +189,8 @@ static void b53_set_vlan_entry(struct b53_device *dev, u16 vid, u16 members,
|
|
|
u32 entry = 0;
|
|
|
|
|
|
if (members) {
|
|
|
- entry = (untag << VA_UNTAG_S) | members;
|
|
|
+ entry = ((untag & VA_UNTAG_MASK_25) << VA_UNTAG_S_25) |
|
|
|
+ members;
|
|
|
if (dev->core_rev >= 3)
|
|
|
entry |= VA_VALID_25_R4 | vid << VA_VID_HIGH_S;
|
|
|
else
|
|
|
@@ -203,7 +204,8 @@ static void b53_set_vlan_entry(struct b53_device *dev, u16 vid, u16 members,
|
|
|
u16 entry = 0;
|
|
|
|
|
|
if (members)
|
|
|
- entry = (untag << VA_UNTAG_S) | members | VA_VALID_65;
|
|
|
+ entry = ((untag & VA_UNTAG_MASK_65) << VA_UNTAG_S_65) |
|
|
|
+ members | VA_VALID_65;
|
|
|
|
|
|
b53_write16(dev, B53_VLAN_PAGE, B53_VLAN_WRITE_65, entry);
|
|
|
b53_write16(dev, B53_VLAN_PAGE, B53_VLAN_TABLE_ACCESS_65, vid |
|