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>

authored by Stephen Hemminger and committed by Jeff Garzik d6c9bc1e 3b12e014

+6 -2
+6 -2
drivers/net/sky2.c
··· 3970 3970 dev->features |= NETIF_F_HIGHDMA; 3971 3971 3972 3972 #ifdef SKY2_VLAN_TAG_USED 3973 - dev->features |= NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX; 3974 - dev->vlan_rx_register = sky2_vlan_rx_register; 3973 + /* The workaround for FE+ status conflicts with VLAN tag detection. */ 3974 + if (!(sky2->hw->chip_id == CHIP_ID_YUKON_FE_P && 3975 + sky2->hw->chip_rev == CHIP_REV_YU_FE2_A0)) { 3976 + dev->features |= NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX; 3977 + dev->vlan_rx_register = sky2_vlan_rx_register; 3978 + } 3975 3979 #endif 3976 3980 3977 3981 /* read the mac address */