alx: Update VLAN tag handling for 3.10

svn path=/dists/trunk/linux/; revision=20184
This commit is contained in:
Ben Hutchings 2013-06-03 01:43:38 +00:00
parent 22392b3370
commit 3e8af05f43
3 changed files with 72 additions and 2 deletions

1
debian/changelog vendored
View File

@ -4,6 +4,7 @@ linux (3.10~rc4-1~exp1) UNRELEASED; urgency=low
[ Ben Hutchings ]
* aufs: Update to aufs3.x-rcN-20130520
* alx: Update VLAN tag handling for 3.10
* md: Enable BCACHE as module
* net/usb: Enable USB_RTL8152 as module
- udeb: Add r8152 to nic-usb-modules

View File

@ -0,0 +1,69 @@
From: Ben Hutchings <ben@decadent.org.uk>
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)

View File

@ -66,10 +66,10 @@ features/all/xen/microcode-api-update.patch
features/all/alx/alx-add-new-QCA-ethernet-driver-which-supercedes-atl.patch
features/all/alx/remove-atl1c-devices-from-alx.patch
features/all/alx/mark-as-staging.patch
features/all/alx/alx-update-for-3.8.patch
features/all/alx/alx-update-for-3.10.patch
debian/radeon-firmware-is-required-for-drm-and-kms-on-r600-onward.patch
features/all/alx/alx-update-for-3.8.patch
debian/efi-autoload-efivars.patch
debian/efivars-remove-check-for-50-full-on-write.patch
debian/cdc_ncm-cdc_mbim-use-ncm-by-default.patch