diff options
author | Chocobo1 | 2017-01-28 17:32:42 +0800 |
---|---|---|
committer | Chocobo1 | 2017-01-28 17:52:07 +0800 |
commit | baff0205b892067b01dd1d06d242b6d446c58e9e (patch) | |
tree | 8dfe7e64d6e7b6eaa7ac0ecb0a22bd9a470df57f | |
parent | ce3f63011fbd05fd6325dea8f6f959a9e4b0683f (diff) | |
download | aur-baff0205b892067b01dd1d06d242b6d446c58e9e.tar.gz |
upgpkg: igb 5.3.5.4-2
Add kernel4.9.patch
-rw-r--r-- | .SRCINFO | 4 | ||||
-rw-r--r-- | PKGBUILD | 13 | ||||
-rw-r--r-- | kernel4.9.patch | 78 |
3 files changed, 91 insertions, 4 deletions
@@ -1,7 +1,7 @@ pkgbase = igb pkgdesc = Linux* Base Driver for Intel(R) Ethernet Network Connection pkgver = 5.3.5.4 - pkgrel = 1 + pkgrel = 2 url = https://sourceforge.net/projects/e1000/files/igb%20stable/ install = igb.install arch = i686 @@ -10,7 +10,9 @@ pkgbase = igb makedepends = linux-headers>=2.6.30 depends = linux>=2.6.30 source = igb-5.3.5.4-src.tar.gz::https://downloads.sourceforge.net/project/e1000/igb%20stable/5.3.5.4/igb-5.3.5.4.tar.gz + source = kernel4.9.patch sha256sums = 804fe3c5c3a65b4ce8681569175b62efd648240f5fbbc349689f14de0d3dee6d + sha256sums = c6dc82cf45b09271cae1818130ac215a64d96a5e9237c11f2b5bc757603111a2 pkgname = igb @@ -2,7 +2,7 @@ pkgname=igb pkgver=5.3.5.4 -pkgrel=1 +pkgrel=2 pkgdesc="Linux* Base Driver for Intel(R) Ethernet Network Connection" arch=('i686' 'x86_64') url="https://sourceforge.net/projects/e1000/files/igb%20stable/" @@ -10,10 +10,17 @@ license=('GPL') depends=('linux>=2.6.30') makedepends=('linux-headers>=2.6.30') install=$pkgname.install -source=("$pkgname-$pkgver-src.tar.gz::https://downloads.sourceforge.net/project/e1000/igb%20stable/$pkgver/$pkgname-$pkgver.tar.gz") -sha256sums=('804fe3c5c3a65b4ce8681569175b62efd648240f5fbbc349689f14de0d3dee6d') +source=("$pkgname-$pkgver-src.tar.gz::https://downloads.sourceforge.net/project/e1000/igb%20stable/$pkgver/$pkgname-$pkgver.tar.gz" + kernel4.9.patch) +sha256sums=('804fe3c5c3a65b4ce8681569175b62efd648240f5fbbc349689f14de0d3dee6d' + 'c6dc82cf45b09271cae1818130ac215a64d96a5e9237c11f2b5bc757603111a2') +prepare() { + cd "$srcdir/$pkgname-$pkgver" + patch -p1 -i "../kernel4.9.patch" +} + build() { cd "$srcdir/$pkgname-$pkgver/src" diff --git a/kernel4.9.patch b/kernel4.9.patch new file mode 100644 index 000000000000..8026b93df576 --- /dev/null +++ b/kernel4.9.patch @@ -0,0 +1,78 @@ +http://dpdk.org/ml/archives/dev/2016-October/049016.html + +diff -Naur igb-5.3.5.4-orig/src/igb_main.c igb-5.3.5.4/src/igb_main.c +--- igb-5.3.5.4-orig/src/igb_main.c 2016-08-26 06:01:30.000000000 +0800 ++++ igb-5.3.5.4/src/igb_main.c 2017-01-28 17:26:14.030381667 +0800 +@@ -183,7 +183,11 @@ + #ifdef IFLA_VF_MAX + static int igb_ndo_set_vf_mac(struct net_device *netdev, int vf, u8 *mac); + static int igb_ndo_set_vf_vlan(struct net_device *netdev, +- int vf, u16 vlan, u8 qos); ++#ifdef HAVE_VF_VLAN_PROTO ++ int vf, u16 vlan, u8 qos, __be16 vlan_proto); ++#else ++ int vf, u16 vlan, u8 qos); ++#endif + #ifdef HAVE_VF_SPOOFCHK_CONFIGURE + static int igb_ndo_set_vf_spoofchk(struct net_device *netdev, int vf, + bool setting); +@@ -6615,7 +6619,11 @@ + } + + static int igb_ndo_set_vf_vlan(struct net_device *netdev, +- int vf, u16 vlan, u8 qos) ++#ifdef HAVE_VF_VLAN_PROTO ++ int vf, u16 vlan, u8 qos, __be16 vlan_proto) ++#else ++ int vf, u16 vlan, u8 qos) ++#endif + { + int err = 0; + struct igb_adapter *adapter = netdev_priv(netdev); +@@ -6624,6 +6632,12 @@ + if ((vf >= adapter->vfs_allocated_count) || (vlan > VLAN_VID_MASK-1) + || (qos > 7)) + return -EINVAL; ++ ++#ifdef HAVE_VF_VLAN_PROTO ++ if (vlan_proto != htons(ETH_P_8021Q)) ++ return -EPROTONOSUPPORT; ++#endif ++ + if (vlan || qos) { + err = igb_vlvf_set(adapter, vlan, !!vlan, vf); + if (err) +@@ -6783,7 +6797,12 @@ + if (adapter->vf_data[vf].pf_vlan) + igb_ndo_set_vf_vlan(adapter->netdev, vf, + adapter->vf_data[vf].pf_vlan, +- adapter->vf_data[vf].pf_qos); ++#ifdef HAVE_VF_VLAN_PROTO ++ adapter->vf_data[vf].pf_qos, ++ htons(ETH_P_8021Q)); ++#else ++ adapter->vf_data[vf].pf_qos); ++#endif + else + igb_clear_vf_vfta(adapter, vf); + #endif +diff -Naur igb-5.3.5.4-orig/src/kcompat.h igb-5.3.5.4/src/kcompat.h +--- igb-5.3.5.4-orig/src/kcompat.h 2016-08-26 06:01:30.000000000 +0800 ++++ igb-5.3.5.4/src/kcompat.h 2017-01-28 17:27:25.429396667 +0800 +@@ -4913,6 +4913,7 @@ + #ifndef skb_vlan_tag_present + #define skb_vlan_tag_present vlan_tx_tag_present + #endif ++ + #if RHEL_RELEASE_CODE && (RHEL_RELEASE_CODE > RHEL_RELEASE_VERSION(7,1)) + #define HAVE_INCLUDE_LINUX_TIMECOUNTER_H + #endif +@@ -5068,4 +5069,8 @@ + #define HAVE_UDP_ENC_RX_OFFLOAD + #endif /* 4.8.0 */ + ++#if ( LINUX_VERSION_CODE >= KERNEL_VERSION(4,9,0) ) ++#define HAVE_VF_VLAN_PROTO ++#endif /* >= 4.9.0 */ ++ + #endif /* _KCOMPAT_H_ */ |