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 dev->features |= NETIF_F_HIGHDMA; 3971 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; 3975 #endif 3976 3977 /* read the mac address */
··· 3970 dev->features |= NETIF_F_HIGHDMA; 3971 3972 #ifdef SKY2_VLAN_TAG_USED 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 + } 3979 #endif 3980 3981 /* read the mac address */