gianfar: fix bug caused by 87c288c6e9aa31720b72e2bc2d665e24e1653c3e
Sebastian Pöhn [Tue, 26 Jul 2011 00:03:13 +0000 (00:03 +0000)]
commit 87c288c6e9aa31720b72e2bc2d665e24e1653c3e "gianfar: do vlan cleanup" has two issues:
# permutation of rx and tx flags
# enabling vlan tag insertion by default (this leads to unusable connections on some configurations)

If VLAN insertion is requested (via ethtool) it will be set at an other point ...

Signed-off-by: Sebastian Poehn <sebastian.poehn@belden.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

drivers/net/gianfar.c

index 835cd25..2659daa 100644 (file)
@@ -388,12 +388,8 @@ static void gfar_init_mac(struct net_device *ndev)
        if (priv->hwts_rx_en)
                rctrl |= RCTRL_PRSDEP_INIT | RCTRL_TS_ENABLE;
 
-       /* keep vlan related bits if it's enabled */
-       if (ndev->features & NETIF_F_HW_VLAN_TX)
-               rctrl |= RCTRL_VLEX | RCTRL_PRSDEP_INIT;
-
        if (ndev->features & NETIF_F_HW_VLAN_RX)
-               tctrl |= TCTRL_VLINS;
+               rctrl |= RCTRL_VLEX | RCTRL_PRSDEP_INIT;
 
        /* Init rctrl based on our settings */
        gfar_write(&regs->rctrl, rctrl);