mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-17 01:04:19 +08:00
sky2: FE+ vlan workaround
The FE+ workaround means the driver can no longer trust the status register to indicate VLAN tagged frames. The fix for this is to just disable VLAN acceleration for that chip version. Tested and works fine. Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
This commit is contained in:
parent
3b12e0141f
commit
d6c9bc1ed4
@ -3970,8 +3970,12 @@ static __devinit struct net_device *sky2_init_netdev(struct sky2_hw *hw,
|
||||
dev->features |= NETIF_F_HIGHDMA;
|
||||
|
||||
#ifdef SKY2_VLAN_TAG_USED
|
||||
dev->features |= NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX;
|
||||
dev->vlan_rx_register = sky2_vlan_rx_register;
|
||||
/* The workaround for FE+ status conflicts with VLAN tag detection. */
|
||||
if (!(sky2->hw->chip_id == CHIP_ID_YUKON_FE_P &&
|
||||
sky2->hw->chip_rev == CHIP_REV_YU_FE2_A0)) {
|
||||
dev->features |= NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX;
|
||||
dev->vlan_rx_register = sky2_vlan_rx_register;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* read the mac address */
|
||||
|
Loading…
Reference in New Issue
Block a user