Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d6c9bc1ed4301cbc3df4565ff5348b64bf2a767c
Commit:     d6c9bc1ed4301cbc3df4565ff5348b64bf2a767c
Parent:     3b12e0141f7a97c3b84731b5f935ed738bb6f960
Author:     Stephen Hemminger <[EMAIL PROTECTED]>
AuthorDate: Thu Sep 27 12:32:44 2007 -0700
Committer:  Jeff Garzik <[EMAIL PROTECTED]>
CommitDate: Thu Sep 27 23:32:28 2007 -0400

    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 <[EMAIL PROTECTED]>
    Signed-off-by: Jeff Garzik <[EMAIL PROTECTED]>
---
 drivers/net/sky2.c |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c
index a3de0b6..3bfc9d3 100644
--- a/drivers/net/sky2.c
+++ b/drivers/net/sky2.c
@@ -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 */
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to