diff --git a/debian/changelog b/debian/changelog index 78814fc52..dd6e3918c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -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 diff --git a/debian/patches/features/all/alx/alx-update-for-3.10.patch b/debian/patches/features/all/alx/alx-update-for-3.10.patch new file mode 100644 index 000000000..2ed445576 --- /dev/null +++ b/debian/patches/features/all/alx/alx-update-for-3.10.patch @@ -0,0 +1,69 @@ +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) diff --git a/debian/patches/series b/debian/patches/series index e46f21524..20bcadd1e 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -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