%define _duplicate_files_terminate_build 0
-%define rel 1
+%define rel 2
%define pname igb
Summary: Intel(R) PRO/1000 driver for Linux
Summary(pl.UTF-8): Sterownik do karty Intel(R) PRO/1000
Group: Base/Kernel
Source0: http://downloads.sourceforge.net/e1000/%{pname}-%{version}.tar.gz
# Source0-md5: 7d7430f5a7151d39db038f4a75baa3b9
+Patch0: linux-3.15.patch
URL: http://sourceforge.net/projects/e1000/
%{?with_dist_kernel:BuildRequires: kernel%{_alt_kernel}-module-build >= 3:2.6.20.2}
BuildRequires: rpm-build-macros >= 1.678
%prep
%setup -q -n %{pname}-%{version}
+%patch0 -p1
+
cat > src/Makefile <<'EOF'
obj-m := igb.o
igb-objs := igb_main.o e1000_82575.o e1000_i210.o e1000_mac.o e1000_nvm.o e1000_phy.o \
--- /dev/null
+--- a/src/igb_main.c
++++ b/src/igb_main.c
+@@ -7366,7 +7366,8 @@ static inline void igb_rx_hash(struct igb_ring *ring,
+ struct sk_buff *skb)
+ {
+ if (netdev_ring(ring)->features & NETIF_F_RXHASH)
+- skb->rxhash = le32_to_cpu(rx_desc->wb.lower.hi_dword.rss);
++ skb_set_hash(skb, le32_to_cpu(rx_desc->wb.lower.hi_dword.rss),
++ PKT_HASH_TYPE_L3);
+ }
+
+ #endif
+--- a/src/kcompat.h
++++ b/src/kcompat.h
+@@ -3831,4 +3831,15 @@ static inline struct sk_buff *__kc__vlan_hwaccel_put_tag(struct sk_buff *skb,
+ #define HAVE_ENCAP_TSO_OFFLOAD
+ #endif /* >= 3.10.0 */
+
++#if ( LINUX_VERSION_CODE < KERNEL_VERSION(3,14,0) )
++#ifdef NETIF_F_RXHASH
++#define PKT_HASH_TYPE_L3 0
++static inline void
++skb_set_hash(struct sk_buff *skb, __u32 hash, __always_unused int type)
++{
++ skb->rxhash = hash;
++}
++#endif /* NETIF_F_RXHASH */
++#endif /* < 3.14.0 */
++
+ #endif /* _KCOMPAT_H_ */
+--
+1.9.1
+