From: Ben Hutchings Subject: alx: update for 3.10 Date: Mon, 03 Jun 2013 02:41:11 +0100 Bug-Debian: http://bugs.debian.org/699129 Forwarded: no The VLAN infrastructure now supports both C-tags or S-tags, so we need to be explicit that we support C-tags only. --- a/drivers/net/ethernet/atheros/alx/alx_main.c +++ b/drivers/net/ethernet/atheros/alx/alx_main.c @@ -432,7 +432,7 @@ static void alx_receive_skb(struct alx_a if (vlan_flag) { u16 vlan; ALX_TAG_TO_VLAN(vlan_tag, vlan); - __vlan_hwaccel_put_tag(skb, vlan); + __vlan_hwaccel_put_tag(skb, htons(ETH_P_8021Q), vlan); } netif_receive_skb(skb); } @@ -1465,7 +1465,7 @@ static void alx_vlan_mode(struct net_dev if (!CHK_ADPT_FLAG(1, STATE_DOWN)) alx_disable_intr(adpt); - if (features & NETIF_F_HW_VLAN_RX) { + if (features & NETIF_F_HW_VLAN_CTAG_RX) { /* enable VLAN tag insert/strip */ SET_HW_FLAG(VLANSTRIP_EN); } else { @@ -2487,10 +2487,10 @@ static netdev_features_t alx_fix_feature * Since there is no support for separate rx/tx vlan accel * enable/disable make sure tx flag is always in same state as rx. */ - if (features & NETIF_F_HW_VLAN_RX) - features |= NETIF_F_HW_VLAN_TX; + if (features & NETIF_F_HW_VLAN_CTAG_RX) + features |= NETIF_F_HW_VLAN_CTAG_TX; else - features &= ~NETIF_F_HW_VLAN_TX; + features &= ~NETIF_F_HW_VLAN_CTAG_TX; if (netdev->mtu > ALX_MAX_TSO_PKT_SIZE || adpt->hw.mac_type == alx_mac_l1c || @@ -2506,7 +2506,7 @@ static int alx_set_features(struct net_d { netdev_features_t changed = netdev->features ^ features; - if (changed & NETIF_F_HW_VLAN_RX) + if (changed & NETIF_F_HW_VLAN_CTAG_RX) alx_vlan_mode(netdev, features); return 0; } @@ -3577,7 +3577,7 @@ static int alx_init(struct pci_dev *pdev netdev->hw_features = NETIF_F_SG | NETIF_F_HW_CSUM | - NETIF_F_HW_VLAN_RX; + NETIF_F_HW_VLAN_CTAG_RX; if (adpt->hw.mac_type != alx_mac_l1c && adpt->hw.mac_type != alx_mac_l2c) { netdev->hw_features = netdev->hw_features | @@ -3585,7 +3585,7 @@ static int alx_init(struct pci_dev *pdev NETIF_F_TSO6; } netdev->features = netdev->hw_features | - NETIF_F_HW_VLAN_TX; + NETIF_F_HW_VLAN_CTAG_TX; /* get mac addr and perm mac addr, set to register */ if (hw->cbs.get_mac_addr)