]> git.openfabrics.org - ~emulex/compat-rdma.git/commitdiff
RDMA/nes: Updated backports
authorVladimir Sokolovsky <vlad@mellanox.com>
Tue, 28 Aug 2012 16:13:38 +0000 (19:13 +0300)
committerVladimir Sokolovsky <vlad@mellanox.com>
Tue, 28 Aug 2012 16:13:38 +0000 (19:13 +0300)
Signed-off-by: Vladimir Sokolovsky <vlad@mellanox.com>
22 files changed:
patches/0001-ib_core-backport-dst_fetch_ha.patch
patches/0002-ib-core-Backport-flowi4-and-flowi6.patch
patches/0003-BACKPORT-core-netlink-for-kernels-3.4.patch
patches/0004-ib-core-Backport-pinned_vm-for-kernels-3.2.patch
patches/0005-ib-core-Backport-CLASS_ATTR-for-kernels-2.6.34.patch
patches/0006-Backport-mlx4_ib.patch
patches/0007-BACKPORT-ucma-Revert-sysctl-registrations.patch
patches/0008-RDMA-nes-Backports-for-RHEL-6.2-and-6.3.patch
patches/0009-iw_cxgb3-iw_cxgb4-Enable-header-file-inclusion-with-.patch
patches/0010-IB-qib-backport-qib_fs.c-before-2.6.35.patch
patches/0011-cxgb3-Backports-for-RHEL6.2-RHEL6.3-and-SLES11-SP2.patch
patches/0012-IB-qib-backport-3.2-for-pinned_vm-field.patch
patches/0013-cxgb4-Backports-for-RHEL6.2-RHEL-6.3-and-SLES11-SP2.patch
patches/0014-IB-ipath-backport-qib_fs.c-before-2.6.35.patch
patches/0015-IB-ipath-backport-3.2-for-pinned_vm-field.patch
patches/0016-iw_cxgb3-Backports-for-RHEL6.2-RHEL-6.3-and-SLES11-S.patch
patches/0017-iw_cxgb4-Backports-for-RHEL6.2-RHEL6.3-and-SLES11-SP.patch
patches/0018-IPoIB-Backports-for-RHEL6.2-RHEL6.3-and-SLES11-SP2.patch
patches/0019-mlx4_en-Backports-for-RHEL6.2-RHEL6.3-and-SLES11-SP2.patch
patches/0020-NFSRDMA-RHEL6.3-and-SLES11-SP2-backport.patch [new file with mode: 0644]
patches/0020-nfsrdma-Backports-for-RHEL6.2-RHEL6.3-and-SLES11-SP2.patch [deleted file]
patches/0021-RDMA-nes-Updated-backports.patch [new file with mode: 0644]

index 1c76365405a921bb09d117ff0635c7fca84bca45..a7703dcb2d84f839a5a3e6e32f0b345d2528fab9 100644 (file)
@@ -1,7 +1,7 @@
-From 0038f903e7318e5e0ef15949acd78290b9c665a3 Mon Sep 17 00:00:00 2001
+From aab849d519467be361c92ecaf2c1c46df1d6466e Mon Sep 17 00:00:00 2001
 From: Vladimir Sokolovsky <vlad@mellanox.com>
 Date: Tue, 10 Jul 2012 15:57:24 +0300
-Subject: [PATCH 01/19] ib_core: backport dst_fetch_ha
+Subject: [PATCH 01/21] ib_core: backport dst_fetch_ha
 
 Signed-off-by: Vladimir Sokolovsky <vlad@mellanox.com>
 ---
@@ -9,7 +9,7 @@ Signed-off-by: Vladimir Sokolovsky <vlad@mellanox.com>
  1 files changed, 58 insertions(+), 0 deletions(-)
 
 diff --git a/drivers/infiniband/core/addr.c b/drivers/infiniband/core/addr.c
-index 6ef660c..b3f7918 100644
+index 6ef660c..984f61c 100644
 --- a/drivers/infiniband/core/addr.c
 +++ b/drivers/infiniband/core/addr.c
 @@ -178,28 +178,45 @@ static void queue_req(struct addr_req *req)
@@ -86,7 +86,7 @@ index 6ef660c..b3f7918 100644
 +              if (neigh)
 +                      goto release;
 +              goto put;
-+      }
++      }
 +
 +      ret = rdma_copy_addr(addr, neigh->dev, neigh->ha);
 +release:
index 7e72f817bf2194733d79c5acd750ee335f4eca91..780dc8776b8a404b35b52af3fb225825ba82d70d 100644 (file)
@@ -1,7 +1,7 @@
-From afcded5e038e760d131e231d5c4ef9b1aab47ef4 Mon Sep 17 00:00:00 2001
+From 026cb35caae800ec4823fd05fa4d5fd4b41b5153 Mon Sep 17 00:00:00 2001
 From: Vladimir Sokolovsky <vlad@mellanox.com>
 Date: Tue, 10 Jul 2012 17:21:25 +0300
-Subject: [PATCH 02/19] ib/core: Backport flowi4 and flowi6
+Subject: [PATCH 02/21] ib/core: Backport flowi4 and flowi6
 
 Signed-off-by: Vladimir Sokolovsky <vlad@mellanox.com>
 ---
@@ -9,7 +9,7 @@ Signed-off-by: Vladimir Sokolovsky <vlad@mellanox.com>
  1 files changed, 45 insertions(+), 0 deletions(-)
 
 diff --git a/drivers/infiniband/core/addr.c b/drivers/infiniband/core/addr.c
-index b3f7918..16147cc 100644
+index 984f61c..089b076 100644
 --- a/drivers/infiniband/core/addr.c
 +++ b/drivers/infiniband/core/addr.c
 @@ -225,22 +225,41 @@ static int addr4_resolve(struct sockaddr_in *src_in,
index 34da210ea7d51b158a38979ad9c0c8a3c3333b20..92647db37a2e5b9c76470390585cd6ce2451e72d 100644 (file)
@@ -1,7 +1,7 @@
-From 7692a8ee4653116ca742acfbf84b008ef98a2fa2 Mon Sep 17 00:00:00 2001
+From 5fd491b49a69f933b529aa5d8f7e0a37c06799bb Mon Sep 17 00:00:00 2001
 From: Vladimir Sokolovsky <vlad@mellanox.com>
 Date: Mon, 25 Jun 2012 22:28:24 +0300
-Subject: [PATCH 03/19] BACKPORT: core/netlink for kernels <= 3.4
+Subject: [PATCH 03/21] BACKPORT: core/netlink for kernels <= 3.4
 
 Signed-off-by: Vladimir Sokolovsky <vlad@mellanox.com>
 ---
index c2d7eed1720f7b8da306298d90cbf108dd37cef2..9fb48955801817e5b32f911f37e423694c082c6b 100644 (file)
@@ -1,7 +1,7 @@
-From 723354e9a6c86869c6bed9a2c7935551f494ca48 Mon Sep 17 00:00:00 2001
+From b4ba8b62569098b2d80a8bdf007a13d762dbd66e Mon Sep 17 00:00:00 2001
 From: Vladimir Sokolovsky <vlad@mellanox.com>
 Date: Tue, 10 Jul 2012 17:41:31 +0300
-Subject: [PATCH 04/19] ib/core: Backport pinned_vm for kernels <= 3.2
+Subject: [PATCH 04/21] ib/core: Backport pinned_vm for kernels <= 3.2
 
 Signed-off-by: Vladimir Sokolovsky <vlad@mellanox.com>
 ---
index edf420b6ed5b08e69eb2ae8f66ae7c4de57f4f79..8d0e04525b4d1afd932436c5ab61c123a6c80413 100644 (file)
@@ -1,7 +1,7 @@
-From 83914b4f3d83330c6ad822f9452d4b2c81f328bd Mon Sep 17 00:00:00 2001
+From 114683737901661ad394d2eee81d500f702c4c36 Mon Sep 17 00:00:00 2001
 From: Vladimir Sokolovsky <vlad@mellanox.com>
 Date: Tue, 10 Jul 2012 18:06:16 +0300
-Subject: [PATCH 05/19] ib/core: Backport CLASS_ATTR for kernels < 2.6.34
+Subject: [PATCH 05/21] ib/core: Backport CLASS_ATTR for kernels < 2.6.34
 
 Signed-off-by: Vladimir Sokolovsky <vlad@mellanox.com>
 ---
index ec0c93ba57b4a7b57b1e8d123d07a940eb77b44b..b44a534b7bd881807b431a574aeae0a2f227dda0 100644 (file)
@@ -1,7 +1,7 @@
-From 29b2e01be91deea5444b21c4345184c65e2126c5 Mon Sep 17 00:00:00 2001
+From 8d863bb705600583bf70868bb5ab0ee41bfb4542 Mon Sep 17 00:00:00 2001
 From: Vladimir Sokolovsky <vlad@mellanox.com>
 Date: Thu, 12 Jul 2012 22:31:24 +0300
-Subject: [PATCH 06/19] Backport mlx4_ib
+Subject: [PATCH 06/21] Backport mlx4_ib
 
 Signed-off-by: Vladimir Sokolovsky <vlad@mellanox.com>
 ---
index f5b1831b6af6f5dba2191ab1d65101bc7d626557..37dcb1ba9ac05f3b0b0897104cec8aee79fc445c 100644 (file)
@@ -1,7 +1,7 @@
-From 2db8dcb3b0cde969104eefb7fd59f9d912d258b6 Mon Sep 17 00:00:00 2001
+From 1473b7194e0bce6d1dd06b17bf006a7fae99c448 Mon Sep 17 00:00:00 2001
 From: Vladimir Sokolovsky <vlad@mellanox.com>
 Date: Fri, 13 Jul 2012 00:24:56 +0300
-Subject: [PATCH 07/19] BACKPORT ucma: Revert sysctl registrations
+Subject: [PATCH 07/21] BACKPORT ucma: Revert sysctl registrations
 
 Signed-off-by: Vladimir Sokolovsky <vlad@mellanox.com>
 ---
index bb2c448122989ac47ad4e874c6963ae53fdccaf8..1bdda5b89e36ccf643a69e8912d53c5c62d6d470 100644 (file)
@@ -1,7 +1,7 @@
-From 5b576bba91da600067fb95cc76b13d57433b0767 Mon Sep 17 00:00:00 2001
+From a0b4e02814afe69cd050cda0c51fd52fd4e96cb6 Mon Sep 17 00:00:00 2001
 From: Tatyana Nikolova <Tatyana.E.Nikolova@intel.com>
 Date: Mon, 16 Jul 2012 17:14:31 +0300
-Subject: [PATCH 08/19] RDMA/nes: Backports for RHEL 6.2 and 6.3
+Subject: [PATCH 08/21] RDMA/nes: Backports for RHEL 6.2 and 6.3
 
 Backports for linux-3.5 nes to RHEL-6.2 and RHEL-6.3
 
index 3b9e8c2231ab9017aac211fbe05e12b37561af06..9eb638c4d965339c5736657c40931a75c9c2de98 100644 (file)
@@ -1,7 +1,7 @@
-From bdb1401c1b46e21549c53f1681f6b7b03bb60ebc Mon Sep 17 00:00:00 2001
+From 0ea5b57fe57f435ea4ff638c9054d90564842a0e Mon Sep 17 00:00:00 2001
 From: Vipul Pandya <vipul@chelsio.com>
 Date: Mon, 7 May 2012 12:43:41 +0530
-Subject: [PATCH 09/19] iw_cxgb3/iw_cxgb4: Enable header file inclusion with absolute path
+Subject: [PATCH 09/21] iw_cxgb3/iw_cxgb4: Enable header file inclusion with absolute path
 
 iw_cxgb3/iw_cxgb4 driver includes header files of cxgb3/cxgb4 drivers
 respectively. OFED build environment is not able to find the header files
index 9a124d2f1cf191c6bcc0259d7047d2e9761451d1..f2a38fef8c2cf355641d52e641b70cd492e93c74 100644 (file)
@@ -1,7 +1,7 @@
-From 62a485e26214924a1e2f4611460113c3f584038e Mon Sep 17 00:00:00 2001
+From 4a1c370f23ed0c15fa8a15b7cdd72fc4b8e9590b Mon Sep 17 00:00:00 2001
 From: Mike Marciniszyn <mike.marciniszyn@intel.com>
 Date: Thu, 2 Aug 2012 18:11:27 +0300
-Subject: [PATCH 10/19] IB/qib: backport qib_fs.c before 2.6.35
+Subject: [PATCH 10/21] IB/qib: backport qib_fs.c before 2.6.35
 
 Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
 ---
index 22e936c0b147b913e594304f0e7daec8ea701ba0..3961945df578e662552fe265540eb0acafa631b3 100644 (file)
@@ -1,7 +1,7 @@
-From 1e960f512bff5b850142ff281598bdca4333fae4 Mon Sep 17 00:00:00 2001
+From 434d4d19533137c6936b9733743a934fd4946b63 Mon Sep 17 00:00:00 2001
 From: Vipul Pandya <root@silicon.(none)>
 Date: Mon, 30 Jul 2012 19:08:37 +0530
-Subject: [PATCH 11/19] cxgb3: Backports for RHEL6.2 RHEL6.3 and SLES11 SP2
+Subject: [PATCH 11/21] cxgb3: Backports for RHEL6.2 RHEL6.3 and SLES11 SP2
 
 Signed-off-by: Vipul Pandya <vipul@chelsio.com>
 ---
index 34fbcc87b56bde797f6d7aec55fd128e595dbf02..e63b31d9859ffb9c8caa998bfa92c2c104230e6f 100644 (file)
@@ -1,7 +1,7 @@
-From 7996c9a696ae6954721ce66a8ab300c9df8b7f2e Mon Sep 17 00:00:00 2001
+From 3987484a97b9ab36fc841a3109aebb875dba5c8f Mon Sep 17 00:00:00 2001
 From: Mike Marciniszyn <mike.marciniszyn@intel.com>
 Date: Thu, 2 Aug 2012 18:11:27 +0300
-Subject: [PATCH 12/19] IB/qib: backport < 3.2 for pinned_vm field
+Subject: [PATCH 12/21] IB/qib: backport < 3.2 for pinned_vm field
 
 Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
 ---
index 5cfa4a2cab4a10dd0ce7ccb0db0ef98880c7572f..dea45c78d59685bc1a4af3ebc6ceb1e173967a03 100644 (file)
@@ -1,7 +1,7 @@
-From b316d1c7c58e9a499efd68a4072d7e566b50d733 Mon Sep 17 00:00:00 2001
+From 7498293c8d344b70376649277926d72b4250c674 Mon Sep 17 00:00:00 2001
 From: Vipul Pandya <vipul@chelsio.com>
 Date: Mon, 30 Jul 2012 12:06:12 +0530
-Subject: [PATCH 13/19] cxgb4: Backports for RHEL6.2 RHEL 6.3 and SLES11 SP2
+Subject: [PATCH 13/21] cxgb4: Backports for RHEL6.2 RHEL 6.3 and SLES11 SP2
 
 Signed-off-by: Vipul Pandya <vipul@chelsio.com>
 ---
index 273de3c7a141536b432d34766a5c01382a219768..cef25eb6ea5a277a65c44c5ef00977d14022665d 100644 (file)
@@ -1,7 +1,7 @@
-From 6de2e2a1dec734bab9788b2602edcbda1ce34cf2 Mon Sep 17 00:00:00 2001
+From 52bf86dbd619044e40448eeb2edfaafbbeb71acd Mon Sep 17 00:00:00 2001
 From: Mike Marciniszyn <mike.marciniszyn@intel.com>
 Date: Thu, 2 Aug 2012 18:11:27 +0300
-Subject: [PATCH 14/19] IB/ipath: backport qib_fs.c before 2.6.35
+Subject: [PATCH 14/21] IB/ipath: backport qib_fs.c before 2.6.35
 
 Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
 ---
index d0db622c7390533ab205b2d26177bf2a10e2786d..d4a01fd353c9bf28d1e62587663d4693a9e3a083 100644 (file)
@@ -1,7 +1,7 @@
-From 4c438e025af2c1e3b6da2e80aa4cdeb22879b233 Mon Sep 17 00:00:00 2001
+From cbf29472b92bdc58e2c2fdb6d971ad843fe4bad5 Mon Sep 17 00:00:00 2001
 From: Mike Marciniszyn <mike.marciniszyn@intel.com>
 Date: Thu, 2 Aug 2012 18:11:27 +0300
-Subject: [PATCH 15/19] IB/ipath: backport < 3.2 for pinned_vm field
+Subject: [PATCH 15/21] IB/ipath: backport < 3.2 for pinned_vm field
 
 Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
 ---
index 424ff3c5541d6fd288472f685b15e7f7fa2a1506..b54f5bbeaac4b8e56a841de61c7ed07847b120d0 100644 (file)
@@ -1,7 +1,7 @@
-From 6a037dd6124f663462974233e166febc4f743a4b Mon Sep 17 00:00:00 2001
+From 32509a879b4662c90805662b055521a8b2541cd3 Mon Sep 17 00:00:00 2001
 From: Vipul Pandya <vipul@chelsio.com>
 Date: Mon, 30 Jul 2012 12:38:36 +0530
-Subject: [PATCH 16/19] iw_cxgb3: Backports for RHEL6.2 RHEL 6.3 and SLES11 SP2
+Subject: [PATCH 16/21] iw_cxgb3: Backports for RHEL6.2 RHEL 6.3 and SLES11 SP2
 
 Signed-off-by: Vipul Pandya <vipul@chelsio.com>
 ---
index 60d1498bc1b9507f01562a85565001fd40d1a30d..5b84ff0886236e19d177fcea6c1d72076407f2d7 100644 (file)
@@ -1,7 +1,7 @@
-From 7042b9602eddcccd36c970f11d5123db52883b0c Mon Sep 17 00:00:00 2001
+From a31706eefdd5fa6cbcfd5e9a85ccdef74dba374e Mon Sep 17 00:00:00 2001
 From: Vipul Pandya <root@silicon.(none)>
 Date: Mon, 30 Jul 2012 16:59:42 +0530
-Subject: [PATCH 17/19] iw_cxgb4: Backports for RHEL6.2 RHEL6.3 and SLES11 SP2
+Subject: [PATCH 17/21] iw_cxgb4: Backports for RHEL6.2 RHEL6.3 and SLES11 SP2
 
 Signed-off-by: Vipul Pandya <root@silicon.(none)>
 ---
index 55e06b623cfa299dd367d56c361b93b339b78c6b..b5354abe189ec33cff11e7eaf9a7dfd39f3c2bc0 100644 (file)
@@ -1,7 +1,7 @@
-From fb296cd5f46e72878911b20e3e346b605ea84c4d Mon Sep 17 00:00:00 2001
+From a5eccddfb48b63a8cddec33b39544136aa3378ee Mon Sep 17 00:00:00 2001
 From: Vladimir Sokolovsky <vlad@mellanox.com>
 Date: Thu, 2 Aug 2012 16:12:39 +0300
-Subject: [PATCH 18/19] IPoIB: Backports for RHEL6.2 RHEL6.3 and SLES11 SP2
+Subject: [PATCH 18/21] IPoIB: Backports for RHEL6.2 RHEL6.3 and SLES11 SP2
 
 Signed-off-by: Vladimir Sokolovsky <vlad@mellanox.com>
 ---
index 428cc869955f61b57d6598577fb6461fa9c217bb..1e64d20286d8ead4f428f174c2b1daa7cf024876 100644 (file)
@@ -1,7 +1,7 @@
-From 8d37aed4c921582f6cdacc00b1c9fbb933bfa9f1 Mon Sep 17 00:00:00 2001
+From 4c1b99148b5eeb1cdb2e251919a083b03aca35a4 Mon Sep 17 00:00:00 2001
 From: Vladimir Sokolovsky <vlad@mellanox.com>
 Date: Sun, 5 Aug 2012 22:00:42 +0300
-Subject: [PATCH 19/19] mlx4_en: Backports for RHEL6.2 RHEL6.3 and SLES11 SP2
+Subject: [PATCH 19/21] mlx4_en: Backports for RHEL6.2 RHEL6.3 and SLES11 SP2
 
 Signed-off-by: Vladimir Sokolovsky <vlad@mellanox.com>
 ---
diff --git a/patches/0020-NFSRDMA-RHEL6.3-and-SLES11-SP2-backport.patch b/patches/0020-NFSRDMA-RHEL6.3-and-SLES11-SP2-backport.patch
new file mode 100644 (file)
index 0000000..ea23b5a
--- /dev/null
@@ -0,0 +1,113 @@
+From 281fbad725657ca5c8593a849010529fd78f3988 Mon Sep 17 00:00:00 2001
+From: Jeff Becker <jeffrey.c.becker@nasa.gov>
+Date: Fri, 24 Aug 2012 11:18:23 -0700
+Subject: [PATCH 20/21] NFSRDMA: RHEL6.3 and SLES11 SP2 backport
+
+Signed-off-by: Jeff Becker <Jeffrey.C.Becker@nasa.gov>
+---
+ net/sunrpc/xprtrdma/rpc_rdma.c           |   16 ++++++++++++++++
+ net/sunrpc/xprtrdma/svc_rdma_transport.c |    4 ++++
+ net/sunrpc/xprtrdma/transport.c          |   12 ++++++++++++
+ 3 files changed, 32 insertions(+), 0 deletions(-)
+
+diff --git a/net/sunrpc/xprtrdma/rpc_rdma.c b/net/sunrpc/xprtrdma/rpc_rdma.c
+index 558fbab..0a6c1db 100644
+--- a/net/sunrpc/xprtrdma/rpc_rdma.c
++++ b/net/sunrpc/xprtrdma/rpc_rdma.c
+@@ -338,9 +338,17 @@ rpcrdma_inline_pullup(struct rpc_rqst *rqst, int pad)
+                       curlen = copy_len;
+               dprintk("RPC:       %s: page %d destp 0x%p len %d curlen %d\n",
+                       __func__, i, destp, copy_len, curlen);
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0))
+               srcp = kmap_atomic(ppages[i]);
++#else
++              srcp = kmap_atomic(ppages[i], KM_SKB_SUNRPC_DATA);
++#endif
+               memcpy(destp, srcp+page_base, curlen);
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0))
+               kunmap_atomic(srcp);
++#else
++              kunmap_atomic(srcp, KM_SKB_SUNRPC_DATA);
++#endif
+               rqst->rq_svec[0].iov_len += curlen;
+               destp += curlen;
+               copy_len -= curlen;
+@@ -639,10 +647,18 @@ rpcrdma_inline_fixup(struct rpc_rqst *rqst, char *srcp, int copy_len, int pad)
+                       dprintk("RPC:       %s: page %d"
+                               " srcp 0x%p len %d curlen %d\n",
+                               __func__, i, srcp, copy_len, curlen);
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0))
+                       destp = kmap_atomic(ppages[i]);
++#else
++                      destp = kmap_atomic(ppages[i], KM_SKB_SUNRPC_DATA);
++#endif
+                       memcpy(destp + page_base, srcp, curlen);
+                       flush_dcache_page(ppages[i]);
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0))
+                       kunmap_atomic(destp);
++#else
++                      kunmap_atomic(destp, KM_SKB_SUNRPC_DATA);
++#endif
+                       srcp += curlen;
+                       copy_len -= curlen;
+                       if (copy_len == 0)
+diff --git a/net/sunrpc/xprtrdma/svc_rdma_transport.c b/net/sunrpc/xprtrdma/svc_rdma_transport.c
+index 73b428b..325e9fd 100644
+--- a/net/sunrpc/xprtrdma/svc_rdma_transport.c
++++ b/net/sunrpc/xprtrdma/svc_rdma_transport.c
+@@ -445,7 +445,11 @@ static struct svcxprt_rdma *rdma_create_xprt(struct svc_serv *serv,
+       if (!cma_xprt)
+               return NULL;
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0))
+       svc_xprt_init(&init_net, &svc_rdma_class, &cma_xprt->sc_xprt, serv);
++#else
++      svc_xprt_init(&svc_rdma_class, &cma_xprt->sc_xprt, serv);
++#endif
+       INIT_LIST_HEAD(&cma_xprt->sc_accept_q);
+       INIT_LIST_HEAD(&cma_xprt->sc_dto_q);
+       INIT_LIST_HEAD(&cma_xprt->sc_rq_dto_q);
+diff --git a/net/sunrpc/xprtrdma/transport.c b/net/sunrpc/xprtrdma/transport.c
+index b446e10..9419f34 100644
+--- a/net/sunrpc/xprtrdma/transport.c
++++ b/net/sunrpc/xprtrdma/transport.c
+@@ -283,7 +283,9 @@ xprt_setup_rdma(struct xprt_create *args)
+       }
+       xprt = xprt_alloc(args->net, sizeof(struct rpcrdma_xprt),
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0) || CONFIG_COMPAT_XPRTRDMA_NEEDED)
+                       xprt_rdma_slot_table_entries,
++#endif
+                       xprt_rdma_slot_table_entries);
+       if (xprt == NULL) {
+               dprintk("RPC:       %s: couldn't allocate rpcrdma_xprt\n",
+@@ -453,8 +455,14 @@ xprt_rdma_connect(struct rpc_task *task)
+ }
+ static int
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0) || CONFIG_COMPAT_XPRTRDMA_NEEDED)
+ xprt_rdma_reserve_xprt(struct rpc_xprt *xprt, struct rpc_task *task)
+ {
++#else
++xprt_rdma_reserve_xprt(struct rpc_task *task)
++{
++      struct rpc_xprt *xprt = task->tk_xprt;
++#endif
+       struct rpcrdma_xprt *r_xprt = rpcx_to_rdmax(xprt);
+       int credits = atomic_read(&r_xprt->rx_buf.rb_credits);
+@@ -466,7 +474,11 @@ xprt_rdma_reserve_xprt(struct rpc_xprt *xprt, struct rpc_task *task)
+               BUG_ON(r_xprt->rx_buf.rb_cwndscale <= 0);
+       }
+       xprt->cwnd = credits * r_xprt->rx_buf.rb_cwndscale;
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0) || CONFIG_COMPAT_XPRTRDMA_NEEDED)
+       return xprt_reserve_xprt_cong(xprt, task);
++#else
++      return xprt_reserve_xprt_cong(task);
++#endif
+ }
+ /*
+-- 
+1.7.0.4
+
diff --git a/patches/0020-nfsrdma-Backports-for-RHEL6.2-RHEL6.3-and-SLES11-SP2.patch b/patches/0020-nfsrdma-Backports-for-RHEL6.2-RHEL6.3-and-SLES11-SP2.patch
deleted file mode 100644 (file)
index 22a9564..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
---- a/net/sunrpc/xprtrdma/svc_rdma_transport.c 2012-08-10 14:24:49.030166769 -0700
-+++ b/net/sunrpc/xprtrdma/svc_rdma_transport.c 2012-08-13 11:07:38.566980365 -0700
-@@ -445,7 +445,11 @@
-       if (!cma_xprt)
-               return NULL;
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0))
-       svc_xprt_init(&init_net, &svc_rdma_class, &cma_xprt->sc_xprt, serv);
-+#else
-+      svc_xprt_init(&svc_rdma_class, &cma_xprt->sc_xprt, serv);
-+#endif
-       INIT_LIST_HEAD(&cma_xprt->sc_accept_q);
-       INIT_LIST_HEAD(&cma_xprt->sc_dto_q);
-       INIT_LIST_HEAD(&cma_xprt->sc_rq_dto_q);
-
---- a/net/sunrpc/xprtrdma/transport.c  2012-08-10 14:24:49.030166769 -0700
-+++ b/net/sunrpc/xprtrdma/transport.c  2012-08-15 10:30:17.125653683 -0700
-@@ -283,7 +283,9 @@
-       }
-       xprt = xprt_alloc(args->net, sizeof(struct rpcrdma_xprt),
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0) || CONFIG_COMPAT_XPRTRDMA_NEEDED)
-                       xprt_rdma_slot_table_entries,
-+#endif
-                       xprt_rdma_slot_table_entries);
-       if (xprt == NULL) {
-               dprintk("RPC:       %s: couldn't allocate rpcrdma_xprt\n",
-@@ -453,8 +455,14 @@
- }
- static int
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0) || CONFIG_COMPAT_XPRTRDMA_NEEDED)
- xprt_rdma_reserve_xprt(struct rpc_xprt *xprt, struct rpc_task *task)
- {
-+#else
-+xprt_rdma_reserve_xprt(struct rpc_task *task)
-+{
-+      struct rpc_xprt *xprt = task->tk_xprt;
-+#endif
-       struct rpcrdma_xprt *r_xprt = rpcx_to_rdmax(xprt);
-       int credits = atomic_read(&r_xprt->rx_buf.rb_credits);
-@@ -466,7 +474,11 @@
-               BUG_ON(r_xprt->rx_buf.rb_cwndscale <= 0);
-       }
-       xprt->cwnd = credits * r_xprt->rx_buf.rb_cwndscale;
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0) || CONFIG_COMPAT_XPRTRDMA_NEEDED)
-       return xprt_reserve_xprt_cong(xprt, task);
-+#else
-+      return xprt_reserve_xprt_cong(task);
-+#endif
- }
- /*
-
---- a/net/sunrpc/xprtrdma/rpc_rdma.c   2012-08-10 14:24:49.029166778 -0700
-+++ b/net/sunrpc/xprtrdma/rpc_rdma.c   2012-08-20 15:10:21.838979969 -0700
-@@ -338,9 +338,17 @@
-                       curlen = copy_len;
-               dprintk("RPC:       %s: page %d destp 0x%p len %d curlen %d\n",
-                       __func__, i, destp, copy_len, curlen);
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0))
-               srcp = kmap_atomic(ppages[i]);
-+#else
-+              srcp = kmap_atomic(ppages[i], KM_SKB_SUNRPC_DATA);
-+#endif
-               memcpy(destp, srcp+page_base, curlen);
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0))
-               kunmap_atomic(srcp);
-+#else
-+              kunmap_atomic(srcp, KM_SKB_SUNRPC_DATA);
-+#endif
-               rqst->rq_svec[0].iov_len += curlen;
-               destp += curlen;
-               copy_len -= curlen;
-@@ -639,10 +647,18 @@
-                       dprintk("RPC:       %s: page %d"
-                               " srcp 0x%p len %d curlen %d\n",
-                               __func__, i, srcp, copy_len, curlen);
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0))
-                       destp = kmap_atomic(ppages[i]);
-+#else
-+                      destp = kmap_atomic(ppages[i], KM_SKB_SUNRPC_DATA);
-+#endif
-                       memcpy(destp + page_base, srcp, curlen);
-                       flush_dcache_page(ppages[i]);
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0))
-                       kunmap_atomic(destp);
-+#else
-+                      kunmap_atomic(destp, KM_SKB_SUNRPC_DATA);
-+#endif
-                       srcp += curlen;
-                       copy_len -= curlen;
-                       if (copy_len == 0)
diff --git a/patches/0021-RDMA-nes-Updated-backports.patch b/patches/0021-RDMA-nes-Updated-backports.patch
new file mode 100644 (file)
index 0000000..ca0bbbc
--- /dev/null
@@ -0,0 +1,161 @@
+From abd0f3494cc9ac2653dc3b451429cddd7c25def9 Mon Sep 17 00:00:00 2001
+From: Tatyana Nikolova <Tatyana.E.Nikolova@intel.com>
+Date: Sat, 25 Aug 2012 20:39:12 -0500
+Subject: [PATCH 21/21] RDMA/nes: Updated backports
+
+OFED-3.5/NES: Updated backports to be applied on top of the previously submitted backport patch.
+
+Signed-off-by: Tatyana Nikolova <Tatyana.E.Nikolova@intel.com>
+---
+ drivers/infiniband/hw/nes/nes_hw.c  |   11 ++++++++
+ drivers/infiniband/hw/nes/nes_hw.h  |    3 ++
+ drivers/infiniband/hw/nes/nes_nic.c |   49 ++++++++++++++++++++++++++++------
+ 3 files changed, 54 insertions(+), 9 deletions(-)
+
+diff --git a/drivers/infiniband/hw/nes/nes_hw.c b/drivers/infiniband/hw/nes/nes_hw.c
+index d42c9f4..259faab 100644
+--- a/drivers/infiniband/hw/nes/nes_hw.c
++++ b/drivers/infiniband/hw/nes/nes_hw.c
+@@ -2951,7 +2951,18 @@ void nes_nic_ce_handler(struct nes_device *nesdev, struct nes_hw_nic_cq *cq)
+                                       nes_debug(NES_DBG_CQ, "%s: Reporting stripped VLAN packet. Tag = 0x%04X\n",
+                                                       nesvnic->netdev->name, vlan_tag);
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,1,0))
++                                      if (nesvnic->vlan_grp != NULL) {
++                                              if (nes_use_lro)
++                                                      lro_vlan_hwaccel_receive_skb(&nesvnic->lro_mgr, rx_skb,
++                                                              nesvnic->vlan_grp, vlan_tag, NULL);
++                                              else
++                                                      vlan_hwaccel_receive_skb(rx_skb, nesvnic->vlan_grp, vlan_tag);
++                                              goto skip_rx_indicate0;
++                                      }
++#endif
+                                       __vlan_hwaccel_put_tag(rx_skb, vlan_tag);
++
+                               }
+                               if (nes_use_lro)
+                                       lro_receive_skb(&nesvnic->lro_mgr, rx_skb, NULL);
+diff --git a/drivers/infiniband/hw/nes/nes_hw.h b/drivers/infiniband/hw/nes/nes_hw.h
+index d748e4b..b4a31de 100644
+--- a/drivers/infiniband/hw/nes/nes_hw.h
++++ b/drivers/infiniband/hw/nes/nes_hw.h
+@@ -1236,6 +1236,9 @@ struct nes_vnic {
+       /* void *mem; */
+       struct nes_device *nesdev;
+       struct net_device *netdev;
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,1,0))
++      struct vlan_group *vlan_grp;
++#endif
+       atomic_t          rx_skbs_needed;
+       atomic_t          rx_skb_timer_running;
+       int               budget;
+diff --git a/drivers/infiniband/hw/nes/nes_nic.c b/drivers/infiniband/hw/nes/nes_nic.c
+index d54776f..696b80e 100644
+--- a/drivers/infiniband/hw/nes/nes_nic.c
++++ b/drivers/infiniband/hw/nes/nes_nic.c
+@@ -1597,6 +1597,33 @@ static const struct ethtool_ops nes_ethtool_ops = {
+       .set_pauseparam = nes_netdev_set_pauseparam,
+ };
++
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,1,0))
++static void nes_netdev_vlan_rx_register(struct net_device *netdev, struct vlan_group *grp)
++{
++      struct nes_vnic *nesvnic = netdev_priv(netdev);
++      struct nes_device *nesdev = nesvnic->nesdev;
++      struct nes_adapter *nesadapter = nesdev->nesadapter;
++      u32 u32temp;
++      unsigned long flags;
++
++      spin_lock_irqsave(&nesadapter->phy_lock, flags);
++      nesvnic->vlan_grp = grp;
++
++      nes_debug(NES_DBG_NETDEV, "%s: %s\n", __func__, netdev->name);
++
++      /* Enable/Disable VLAN Stripping */
++      u32temp = nes_read_indexed(nesdev, NES_IDX_PCIX_DIAG);
++      if (grp)
++              u32temp &= 0xfdffffff;
++      else
++              u32temp |= 0x02000000;
++
++      nes_write_indexed(nesdev, NES_IDX_PCIX_DIAG, u32temp);
++      spin_unlock_irqrestore(&nesadapter->phy_lock, flags);
++}
++#endif
++
+ static void nes_vlan_mode(struct net_device *netdev, struct nes_device *nesdev, netdev_features_t features)
+ {
+       struct nes_adapter *nesadapter = nesdev->nesadapter;
+@@ -1618,6 +1645,7 @@ static void nes_vlan_mode(struct net_device *netdev, struct nes_device *nesdev,
+       spin_unlock_irqrestore(&nesadapter->phy_lock, flags);
+ }
++
+ #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,39))
+ static netdev_features_t nes_fix_features(struct net_device *netdev, netdev_features_t features)
+ {
+@@ -1656,6 +1684,9 @@ static const struct net_device_ops nes_netdev_ops = {
+       .ndo_set_rx_mode        = nes_netdev_set_multicast_list,
+       .ndo_change_mtu         = nes_netdev_change_mtu,
+       .ndo_validate_addr      = eth_validate_addr,
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,1,0))
++      .ndo_vlan_rx_register   = nes_netdev_vlan_rx_register,
++#endif
+ #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,39))
+       .ndo_fix_features       = nes_fix_features,
+       .ndo_set_features       = nes_set_features,
+@@ -1691,12 +1722,10 @@ struct net_device *nes_netdev_init(struct nes_device *nesdev,
+       netdev->hard_header_len = ETH_HLEN;
+       netdev->addr_len = ETH_ALEN;
+       netdev->type = ARPHRD_ETHER;
+-      netdev->features = NETIF_F_HIGHDMA;
+       netdev->netdev_ops = &nes_netdev_ops;
+       netdev->ethtool_ops = &nes_ethtool_ops;
+       netif_napi_add(netdev, &nesvnic->napi, nes_netdev_poll, 128);
+       nes_debug(NES_DBG_INIT, "Enabling VLAN Insert/Delete.\n");
+-      netdev->features |= NETIF_F_HW_VLAN_TX;
+       /* Fill in the port structure */
+       nesvnic->netdev = netdev;
+@@ -1723,19 +1752,20 @@ struct net_device *nes_netdev_init(struct nes_device *nesdev,
+       netdev->dev_addr[5] = (u8)u64temp;
+       memcpy(netdev->perm_addr, netdev->dev_addr, 6);
+-      netdev->features |= NETIF_F_SG | NETIF_F_IP_CSUM;
++      netdev->features = NETIF_F_SG | NETIF_F_IP_CSUM | NETIF_F_RXCSUM | NETIF_F_HW_VLAN_RX;
+ #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,39))
+-      netdev->hw_features = NETIF_F_RXCSUM | NETIF_F_SG | NETIF_F_IP_CSUM |
+-                            NETIF_F_HW_VLAN_RX;
+-      netdev->features |= netdev->hw_features;
+-      netdev->hw_features |= NETIF_F_LRO;
++      netdev->hw_features |= netdev->features | NETIF_F_LRO;
+ #endif
++      netdev->features |= NETIF_F_HIGHDMA | NETIF_F_HW_VLAN_TX;
++
+       if ((nesvnic->logical_port < 2) || (nesdev->nesadapter->hw_rev != NE020_REV)) {
++#if (LINUX_VERSION_CODE <= KERNEL_VERSION(3,3,0))
++              netdev->features |= NETIF_F_TSO;
+ #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,39))
+               netdev->hw_features |= NETIF_F_TSO;
+ #endif
+-              netdev->features |= NETIF_F_TSO | NETIF_F_GSO;
++#endif
+       }
+       nes_debug(NES_DBG_INIT, "nesvnic = %p, reported features = 0x%lX, QPid = %d,"
+@@ -1864,8 +1894,9 @@ struct net_device *nes_netdev_init(struct nes_device *nesdev,
+               nes_init_phy(nesdev);
+       }
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0))
+       nes_vlan_mode(netdev, nesdev, netdev->features);
+-
++#endif
+       return netdev;
+ }
+-- 
+1.7.0.4
+