eval "export $VAR=$VALUE"
echo "export $VAR=$VALUE"
}
+function unset_config {
+ VAR=$1
+
+ eval "unset $VAR"
+ echo "unexport $VAR"
+}
+
+function check_autofconf {
+ VAR=$1
+ VALUE=$(tac ${KLIB_BUILD}/include/*/autoconf.h | grep -m1 ${VAR} | sed -ne 's/.*\([01]\)$/\1/gp')
+
+ eval "export $VAR=$VALUE"
+}
+
# Note that this script will export all variables explicitly,
# trying to export all with a blanket "export" statement at
# the top of the generated file causes the build to slow down
if (grep -q virtqueue_add_buf_gfp ${KLIB_BUILD}/tools/include/virtio/linux/virtio.h > /dev/null 2>&1 || grep -q virtqueue_add_buf_gfp /lib/modules/${KVERSION}/source/include/linux/virtio.h > /dev/null 2>&1); then
set_config CONFIG_COMPAT_VIRTQUEUE_ADD_BUF_GFP y
fi
+
+if (grep -qw __IFLA_VF_LINK_STATE_MAX ${KLIB_BUILD}/include/uapi/linux/if_link.h > /dev/null 2>&1 || grep -qw __IFLA_VF_LINK_STATE_MAX /lib/modules/${KVERSION}/source/include/uapi/linux/if_link.h > /dev/null 2>&1); then
+ set_config CONFIG_COMPAT_IFLA_VF_LINK_STATE_MAX y
+fi
Signed-off-by: Vladimir Sokolovsky <vlad@mellanox.com>
---
- drivers/infiniband/core/addr.c | 105 +++++++++++++++++++++++++++++++++
- drivers/infiniband/core/cm.c | 23 +++++++
- drivers/infiniband/core/cma.c | 43 +++++++++++++
- drivers/infiniband/core/fmr_pool.c | 7 ++
- drivers/infiniband/core/netlink.c | 20 ++++++
- drivers/infiniband/core/sa_query.c | 15 +++++
- drivers/infiniband/core/ucm.c | 38 ++++++++++++
- drivers/infiniband/core/ucma.c | 76 ++++++++++++++++++++++++
- drivers/infiniband/core/umem.c | 16 +++++
- drivers/infiniband/core/user_mad.c | 16 +++++
- drivers/infiniband/core/uverbs_cmd.c | 51 ++++++++++++++++
- drivers/infiniband/core/uverbs_main.c | 40 +++++++++++++
- 12 files changed, 450 insertions(+), 0 deletions(-)
+ drivers/infiniband/core/addr.c | 105 ++++++++++++++++++++++++++++++++++
+ drivers/infiniband/core/cm.c | 23 ++++++++
+ drivers/infiniband/core/cma.c | 43 ++++++++++++++
+ drivers/infiniband/core/fmr_pool.c | 7 +++
+ drivers/infiniband/core/netlink.c | 20 +++++++
+ drivers/infiniband/core/sa_query.c | 15 +++++
+ drivers/infiniband/core/ucm.c | 38 ++++++++++++
+ drivers/infiniband/core/ucma.c | 76 ++++++++++++++++++++++++
+ drivers/infiniband/core/umem.c | 16 ++++++
+ drivers/infiniband/core/user_mad.c | 16 ++++++
+ drivers/infiniband/core/uverbs_cmd.c | 51 +++++++++++++++++
+ drivers/infiniband/core/uverbs_main.c | 40 +++++++++++++
+ 12 files changed, 450 insertions(+)
diff --git a/drivers/infiniband/core/addr.c b/drivers/infiniband/core/addr.c
index xxxxxxx..xxxxxxx xxxxxx
Signed-off-by: Vladimir Sokolovsky <vlad@mellanox.com>
---
- drivers/infiniband/hw/mlx4/cm.c | 31 ++++
- drivers/infiniband/hw/mlx4/main.c | 16 ++
- drivers/net/ethernet/mellanox/mlx4/cmd.c | 6 +
- drivers/net/ethernet/mellanox/mlx4/en_cq.c | 10 ++
- drivers/net/ethernet/mellanox/mlx4/en_dcb_nl.c | 12 ++
- drivers/net/ethernet/mellanox/mlx4/en_ethtool.c | 51 +++++++
- drivers/net/ethernet/mellanox/mlx4/en_netdev.c | 176 ++++++++++++++++++++++-
- drivers/net/ethernet/mellanox/mlx4/en_rx.c | 29 ++++
- drivers/net/ethernet/mellanox/mlx4/en_tx.c | 36 +++++
- drivers/net/ethernet/mellanox/mlx4/eq.c | 8 +
- drivers/net/ethernet/mellanox/mlx4/mlx4_en.h | 57 ++++++++
- include/linux/mlx4/cmd.h | 2 +
- include/linux/mlx4/device.h | 6 +
- 13 files changed, 439 insertions(+), 1 deletions(-)
+ drivers/infiniband/hw/mlx4/cm.c | 31 +++++
+ drivers/infiniband/hw/mlx4/main.c | 16 +++
+ drivers/net/ethernet/mellanox/mlx4/cmd.c | 6 +
+ drivers/net/ethernet/mellanox/mlx4/en_cq.c | 10 ++
+ drivers/net/ethernet/mellanox/mlx4/en_dcb_nl.c | 12 ++
+ drivers/net/ethernet/mellanox/mlx4/en_ethtool.c | 51 +++++++
+ drivers/net/ethernet/mellanox/mlx4/en_netdev.c | 176 +++++++++++++++++++++++-
+ drivers/net/ethernet/mellanox/mlx4/en_rx.c | 29 ++++
+ drivers/net/ethernet/mellanox/mlx4/en_tx.c | 36 +++++
+ drivers/net/ethernet/mellanox/mlx4/eq.c | 8 ++
+ drivers/net/ethernet/mellanox/mlx4/mlx4_en.h | 57 ++++++++
+ include/linux/mlx4/cmd.h | 2 +
+ include/linux/mlx4/device.h | 6 +
+ 13 files changed, 439 insertions(+), 1 deletion(-)
diff --git a/drivers/infiniband/hw/mlx4/cm.c b/drivers/infiniband/hw/mlx4/cm.c
index xxxxxxx..xxxxxxx xxxxxx
Signed-off-by: Vladimir Sokolovsky <vlad@mellanox.com>
---
- drivers/infiniband/ulp/ipoib/ipoib.h | 3 ++
- drivers/infiniband/ulp/ipoib/ipoib_cm.c | 8 +++++
- drivers/infiniband/ulp/ipoib/ipoib_main.c | 37 ++++++++++++++++++++++++
- drivers/infiniband/ulp/ipoib/ipoib_multicast.c | 15 +++++++++
- drivers/infiniband/ulp/ipoib/ipoib_netlink.c | 8 +++++
- 5 files changed, 71 insertions(+), 0 deletions(-)
+ drivers/infiniband/ulp/ipoib/ipoib.h | 3 +++
+ drivers/infiniband/ulp/ipoib/ipoib_cm.c | 8 ++++++
+ drivers/infiniband/ulp/ipoib/ipoib_main.c | 37 ++++++++++++++++++++++++++
+ drivers/infiniband/ulp/ipoib/ipoib_multicast.c | 15 +++++++++++
+ drivers/infiniband/ulp/ipoib/ipoib_netlink.c | 8 ++++++
+ 5 files changed, 71 insertions(+)
diff --git a/drivers/infiniband/ulp/ipoib/ipoib.h b/drivers/infiniband/ulp/ipoib/ipoib.h
index xxxxxxx..xxxxxxx xxxxxx
From: Vipul Pandya <vipul@chelsio.com>
-Subject: [PATCH] iw_cxgb3/iw_cxgb4: Enable header file inclusion with absolute path
+Subject: [PATCH] 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
Signed-off-by: Vipul Pandya <vipul@chelsio.com>
---
- drivers/infiniband/hw/cxgb3/Makefile | 2 +-
- drivers/infiniband/hw/cxgb4/Makefile | 2 +-
+ drivers/infiniband/hw/cxgb3/Makefile | 2 +-
+ drivers/infiniband/hw/cxgb4/Makefile | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/infiniband/hw/cxgb3/Makefile b/drivers/infiniband/hw/cxgb3/Makefile
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
---
- drivers/infiniband/ulp/srp/ib_srp.c | 91 ++++++++++++++++++++++++++++++++++-
- 1 files changed, 89 insertions(+), 2 deletions(-)
+ drivers/infiniband/ulp/srp/ib_srp.c | 91 ++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 89 insertions(+), 2 deletions(-)
diff --git a/drivers/infiniband/ulp/srp/ib_srp.c b/drivers/infiniband/ulp/srp/ib_srp.c
index xxxxxxx..xxxxxxx xxxxxx
Signed-off-by: Kumar Sanghvi <kumaras@chelsio.com>
---
- drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c | 1 +
- drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c | 1 +
- drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c | 1 +
- 3 files changed, 3 insertions(+), 0 deletions(-)
+ drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c | 1 +
+ drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c | 1 +
+ drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c | 1 +
+ 3 files changed, 3 insertions(+)
diff --git a/drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c b/drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
index xxxxxxx..xxxxxxx xxxxxx
Signed-off-by: Kumar Sanghvi <kumaras@chelsio.com>
---
- drivers/net/ethernet/chelsio/cxgb3/adapter.h | 19 +++
- drivers/net/ethernet/chelsio/cxgb3/common.h | 3 +
- drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c | 118 +++++++++++++++++++-
- drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c | 107 ++++++++++++++++++-
- drivers/net/ethernet/chelsio/cxgb3/l2t.c | 9 ++
- drivers/net/ethernet/chelsio/cxgb3/l2t.h | 5 +
- drivers/net/ethernet/chelsio/cxgb3/sge.c | 46 ++++++++
- drivers/net/ethernet/chelsio/cxgb3/t3_hw.c | 4 +
- drivers/net/ethernet/chelsio/cxgb3/xgmac.c | 17 +++-
+ drivers/net/ethernet/chelsio/cxgb3/adapter.h | 19 ++++
+ drivers/net/ethernet/chelsio/cxgb3/common.h | 3 +
+ drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c | 118 ++++++++++++++++++++-
+ drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c | 107 ++++++++++++++++++-
+ drivers/net/ethernet/chelsio/cxgb3/l2t.c | 9 ++
+ drivers/net/ethernet/chelsio/cxgb3/l2t.h | 5 +
+ drivers/net/ethernet/chelsio/cxgb3/sge.c | 46 ++++++++
+ drivers/net/ethernet/chelsio/cxgb3/t3_hw.c | 4 +
+ drivers/net/ethernet/chelsio/cxgb3/xgmac.c | 17 ++-
9 files changed, 325 insertions(+), 3 deletions(-)
diff --git a/drivers/net/ethernet/chelsio/cxgb3/adapter.h b/drivers/net/ethernet/chelsio/cxgb3/adapter.h
Signed-off-by: Kumar Sanghvi <kumaras@chelsio.com>
---
- drivers/infiniband/hw/cxgb3/iwch.h | 17 +++++++++++++-
- drivers/infiniband/hw/cxgb3/iwch_cm.c | 39 +++++++++++++++++++++++++++++++++
- 2 files changed, 55 insertions(+), 1 deletions(-)
+ drivers/infiniband/hw/cxgb3/iwch.h | 17 ++++++++++++++-
+ drivers/infiniband/hw/cxgb3/iwch_cm.c | 39 +++++++++++++++++++++++++++++++++++
+ 2 files changed, 55 insertions(+), 1 deletion(-)
diff --git a/drivers/infiniband/hw/cxgb3/iwch.h b/drivers/infiniband/hw/cxgb3/iwch.h
index xxxxxxx..xxxxxxx xxxxxx
Signed-off-by: Kumar Sanghvi <kumaras@chelsio.com>
---
- drivers/net/ethernet/chelsio/cxgb4/cxgb4.h | 17 ++
- drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c | 208 ++++++++++++++++++++---
- drivers/net/ethernet/chelsio/cxgb4/sge.c | 108 ++++++++++++
+ drivers/net/ethernet/chelsio/cxgb4/cxgb4.h | 17 ++
+ drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c | 208 +++++++++++++++++++++---
+ drivers/net/ethernet/chelsio/cxgb4/sge.c | 108 ++++++++++++
3 files changed, 308 insertions(+), 25 deletions(-)
diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4.h b/drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
Signed-off-by: Kumar Sanghvi <kumaras@chelsio.com>
---
- drivers/infiniband/hw/cxgb4/cm.c | 79 ++++++++++++++++++++++++++++++++
- drivers/infiniband/hw/cxgb4/iw_cxgb4.h | 17 +++++++
- drivers/infiniband/hw/cxgb4/mem.c | 1 +
- 3 files changed, 97 insertions(+), 0 deletions(-)
+ drivers/infiniband/hw/cxgb4/cm.c | 79 ++++++++++++++++++++++++++++++++++
+ drivers/infiniband/hw/cxgb4/iw_cxgb4.h | 17 ++++++++
+ drivers/infiniband/hw/cxgb4/mem.c | 1 +
+ 3 files changed, 97 insertions(+)
diff --git a/drivers/infiniband/hw/cxgb4/cm.c b/drivers/infiniband/hw/cxgb4/cm.c
index xxxxxxx..xxxxxxx xxxxxx
Signed-off-by: Kumar Sanghvi <kumaras@chelsio.com>
---
- drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
+ drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
index xxxxxxx..xxxxxxx xxxxxx
Signed-off-by: Kumar Sanghvi <kumaras@chelsio.com>
---
- drivers/net/ethernet/chelsio/cxgb3/version.h | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
+ drivers/net/ethernet/chelsio/cxgb3/version.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/chelsio/cxgb3/version.h b/drivers/net/ethernet/chelsio/cxgb3/version.h
index xxxxxxx..xxxxxxx xxxxxx
Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
---
- drivers/infiniband/hw/qib/qib_fs.c | 29 +++++++++++++++++++++++++++++
- 1 files changed, 29 insertions(+), 0 deletions(-)
+ drivers/infiniband/hw/qib/qib_fs.c | 29 +++++++++++++++++++++++++++++
+ 1 file changed, 29 insertions(+)
diff --git a/drivers/infiniband/hw/qib/qib_fs.c b/drivers/infiniband/hw/qib/qib_fs.c
index xxxxxxx..xxxxxxx xxxxxx
Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
---
- drivers/infiniband/hw/qib/qib_user_pages.c | 8 ++++++++
- 1 files changed, 8 insertions(+), 0 deletions(-)
+ drivers/infiniband/hw/qib/qib_user_pages.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
diff --git a/drivers/infiniband/hw/qib/qib_user_pages.c b/drivers/infiniband/hw/qib/qib_user_pages.c
index xxxxxxx..xxxxxxx xxxxxx
Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
---
- drivers/infiniband/hw/ipath/ipath_fs.c | 26 ++++++++++++++++++++++++++
- 1 files changed, 26 insertions(+), 0 deletions(-)
+ drivers/infiniband/hw/ipath/ipath_fs.c | 26 ++++++++++++++++++++++++++
+ 1 file changed, 26 insertions(+)
diff --git a/drivers/infiniband/hw/ipath/ipath_fs.c b/drivers/infiniband/hw/ipath/ipath_fs.c
index xxxxxxx..xxxxxxx xxxxxx
Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
---
- drivers/infiniband/hw/ipath/ipath_user_pages.c | 12 ++++++++++++
- 1 files changed, 12 insertions(+), 0 deletions(-)
+ drivers/infiniband/hw/ipath/ipath_user_pages.c | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
diff --git a/drivers/infiniband/hw/ipath/ipath_user_pages.c b/drivers/infiniband/hw/ipath/ipath_user_pages.c
index xxxxxxx..xxxxxxx xxxxxx
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
---
- drivers/infiniband/hw/qib/qib_pcie.c | 21 +++++++++++++++++++++
- 1 files changed, 21 insertions(+), 0 deletions(-)
+ drivers/infiniband/hw/qib/qib_pcie.c | 21 +++++++++++++++++++++
+ 1 file changed, 21 insertions(+)
diff --git a/drivers/infiniband/hw/qib/qib_pcie.c b/drivers/infiniband/hw/qib/qib_pcie.c
index xxxxxxx..xxxxxxx xxxxxx
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
---
- drivers/infiniband/hw/qib/qib_init.c | 23 +++++++++++++++++++++--
- 1 files changed, 21 insertions(+), 2 deletions(-)
+ drivers/infiniband/hw/qib/qib_init.c | 23 +++++++++++++++++++++--
+ 1 file changed, 21 insertions(+), 2 deletions(-)
diff --git a/drivers/infiniband/hw/qib/qib_init.c b/drivers/infiniband/hw/qib/qib_init.c
index xxxxxxx..xxxxxxx xxxxxx
Signed-off-by: Tatyana Nikolova <tatyana.e.nikolova@intel.com>
---
- drivers/infiniband/hw/nes/nes.c | 4 ++
- drivers/infiniband/hw/nes/nes_cm.c | 14 +++++-
- drivers/infiniband/hw/nes/nes_hw.c | 28 +++++++++--
- drivers/infiniband/hw/nes/nes_hw.h | 6 ++
- drivers/infiniband/hw/nes/nes_nic.c | 96 ++++++++++++++++++++++++++++++++--
+ drivers/infiniband/hw/nes/nes.c | 4 ++
+ drivers/infiniband/hw/nes/nes_cm.c | 14 +++++-
+ drivers/infiniband/hw/nes/nes_hw.c | 28 +++++++++--
+ drivers/infiniband/hw/nes/nes_hw.h | 6 +++
+ drivers/infiniband/hw/nes/nes_nic.c | 96 ++++++++++++++++++++++++++++++++++---
5 files changed, 137 insertions(+), 11 deletions(-)
diff --git a/drivers/infiniband/hw/nes/nes.c b/drivers/infiniband/hw/nes/nes.c
Signed-off-by: Vladimir Sokolovsky <vlad@mellanox.com>
---
- drivers/scsi/Makefile | 187 -------------------------------------------------
- 1 files changed, 0 insertions(+), 187 deletions(-)
+ drivers/scsi/Makefile | 187 --------------------------------------------------
+ 1 file changed, 187 deletions(-)
diff --git a/drivers/scsi/Makefile b/drivers/scsi/Makefile
index xxxxxxx..xxxxxxx xxxxxx
Signed-off-by: Vladimir Sokolovsky <vlad@mellanox.com>
---
- drivers/infiniband/hw/ocrdma/Makefile | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
+ drivers/infiniband/hw/ocrdma/Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/infiniband/hw/ocrdma/Makefile b/drivers/infiniband/hw/ocrdma/Makefile
index xxxxxxx..xxxxxxx xxxxxx
Signed-off-by: Vladimir Sokolovsky <vlad@mellanox.com>
---
- drivers/infiniband/hw/ocrdma/ocrdma_main.c | 18 ++++++++++++++++++
- 1 files changed, 18 insertions(+), 0 deletions(-)
+ drivers/infiniband/hw/ocrdma/ocrdma_main.c | 18 ++++++++++++++++++
+ 1 file changed, 18 insertions(+)
diff --git a/drivers/infiniband/hw/ocrdma/ocrdma_main.c b/drivers/infiniband/hw/ocrdma/ocrdma_main.c
index xxxxxxx..xxxxxxx xxxxxx
--- /dev/null
+From: "Jeffrey C. Becker" <Jeffrey.C.Becker@nasa.gov>
+Subject: [PATCH] nfsrdma: Backport for rhel6.5
+
+Signed-off-by: Jeffrey C. Becker <Jeffrey.C.Becker@nasa.gov>
+---
+ net/sunrpc/xprtrdma/rpc_rdma.c | 16 ++++++++++++++++
+ net/sunrpc/xprtrdma/svc_rdma_recvfrom.c | 9 +++++++++
+ net/sunrpc/xprtrdma/svc_rdma_sendto.c | 6 ++++++
+ net/sunrpc/xprtrdma/svc_rdma_transport.c | 4 ++++
+ net/sunrpc/xprtrdma/transport.c | 4 ++++
+ 5 files changed, 39 insertions(+)
+
+diff --git a/net/sunrpc/xprtrdma/rpc_rdma.c b/net/sunrpc/xprtrdma/rpc_rdma.c
+index xxxxxxx..xxxxxxx xxxxxx
+--- 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], KM_SKB_SUNRPC_DATA);
++#else
+ srcp = kmap_atomic(ppages[i]);
++#endif
+ memcpy(destp, srcp+page_base, curlen);
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,4,0))
++ kunmap_atomic(srcp, KM_SKB_SUNRPC_DATA);
++#else
+ kunmap_atomic(srcp);
++#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], KM_SKB_SUNRPC_DATA);
++#else
+ destp = kmap_atomic(ppages[i]);
++#endif
+ memcpy(destp + page_base, srcp, curlen);
+ flush_dcache_page(ppages[i]);
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,4,0))
++ kunmap_atomic(destp, KM_SKB_SUNRPC_DATA);
++#else
+ kunmap_atomic(destp);
++#endif
+ srcp += curlen;
+ copy_len -= curlen;
+ if (copy_len == 0)
+diff --git a/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c b/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c
+index xxxxxxx..xxxxxxx xxxxxx
+--- a/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c
++++ b/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c
+@@ -524,8 +524,13 @@ next_sge:
+ * Detach res pages. If svc_release sees any it will attempt to
+ * put them.
+ */
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,8,0))
++ while (rqstp->rq_resused)
++ rqstp->rq_respages[--rqstp->rq_resused] = NULL;
++#else
+ while (rqstp->rq_next_page != rqstp->rq_respages)
+ *(--rqstp->rq_next_page) = NULL;
++#endif
+
+ return err;
+ }
+@@ -550,7 +555,11 @@ static int rdma_read_complete(struct svc_rqst *rqstp,
+
+ /* rq_respages starts after the last arg page */
+ rqstp->rq_respages = &rqstp->rq_arg.pages[page_no];
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,8,0))
++ rqstp->rq_resused = 0;
++#else
+ rqstp->rq_next_page = &rqstp->rq_arg.pages[page_no];
++#endif
+
+ /* Rebuild rq_arg head and tail. */
+ rqstp->rq_arg.head[0] = head->arg.head[0];
+diff --git a/net/sunrpc/xprtrdma/svc_rdma_sendto.c b/net/sunrpc/xprtrdma/svc_rdma_sendto.c
+index xxxxxxx..xxxxxxx xxxxxx
+--- a/net/sunrpc/xprtrdma/svc_rdma_sendto.c
++++ b/net/sunrpc/xprtrdma/svc_rdma_sendto.c
+@@ -548,7 +548,9 @@ static int send_reply(struct svcxprt_rdma *rdma,
+ int sge_no;
+ int sge_bytes;
+ int page_no;
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,8,0))
+ int pages;
++#endif
+ int ret;
+
+ /* Post a recv buffer to handle another request. */
+@@ -612,8 +614,12 @@ static int send_reply(struct svcxprt_rdma *rdma,
+ * respages array. They are our pages until the I/O
+ * completes.
+ */
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,8,0))
++ for (page_no = 0; page_no < rqstp->rq_resused; page_no++) {
++#else
+ pages = rqstp->rq_next_page - rqstp->rq_respages;
+ for (page_no = 0; page_no < pages; page_no++) {
++#endif
+ ctxt->pages[page_no+1] = rqstp->rq_respages[page_no];
+ ctxt->count++;
+ rqstp->rq_respages[page_no] = NULL;
+diff --git a/net/sunrpc/xprtrdma/svc_rdma_transport.c b/net/sunrpc/xprtrdma/svc_rdma_transport.c
+index xxxxxxx..xxxxxxx xxxxxx
+--- 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(&svc_rdma_class, &cma_xprt->sc_xprt, serv);
++#else
+ svc_xprt_init(&init_net, &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 xxxxxxx..xxxxxxx xxxxxx
+--- a/net/sunrpc/xprtrdma/transport.c
++++ b/net/sunrpc/xprtrdma/transport.c
+@@ -51,7 +51,9 @@
+ #include <linux/init.h>
+ #include <linux/slab.h>
+ #include <linux/seq_file.h>
++#if (LINUX_VERSION_CODE > KERNEL_VERSION(3,8,0))
+ #include <linux/sunrpc/addr.h>
++#endif
+
+ #include "xprt_rdma.h"
+
+@@ -707,7 +709,9 @@ static void xprt_rdma_print_stats(struct rpc_xprt *xprt, struct seq_file *seq)
+ static struct rpc_xprt_ops xprt_rdma_procs = {
+ .reserve_xprt = xprt_rdma_reserve_xprt,
+ .release_xprt = xprt_release_xprt_cong, /* sunrpc/xprt.c */
++#if (LINUX_VERSION_CODE > KERNEL_VERSION(3,7,0))
+ .alloc_slot = xprt_alloc_slot,
++#endif
+ .release_request = xprt_release_rqst_cong, /* ditto */
+ .set_retrans_timeout = xprt_set_retrans_timeout_def, /* ditto */
+ .rpcbind = rpcb_getport_async, /* sunrpc/rpcb_clnt.c */
+++ /dev/null
-diff --git a/net/sunrpc/xprtrdma/rpc_rdma.c b/net/sunrpc/xprtrdma/rpc_rdma.c
-index e03725b..410b551 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], KM_SKB_SUNRPC_DATA);
-+#else
- srcp = kmap_atomic(ppages[i]);
-+#endif
- memcpy(destp, srcp+page_base, curlen);
-+#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,4,0))
-+ kunmap_atomic(srcp, KM_SKB_SUNRPC_DATA);
-+#else
- kunmap_atomic(srcp);
-+#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], KM_SKB_SUNRPC_DATA);
-+#else
- destp = kmap_atomic(ppages[i]);
-+#endif
- memcpy(destp + page_base, srcp, curlen);
- flush_dcache_page(ppages[i]);
-+#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,4,0))
-+ kunmap_atomic(destp, KM_SKB_SUNRPC_DATA);
-+#else
- kunmap_atomic(destp);
-+#endif
- srcp += curlen;
- copy_len -= curlen;
- if (copy_len == 0)
-diff --git a/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c b/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c
-index 0ce7552..afd46ee 100644
---- a/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c
-+++ b/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c
-@@ -524,8 +524,13 @@ next_sge:
- * Detach res pages. If svc_release sees any it will attempt to
- * put them.
- */
-+#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,8,0))
-+ while (rqstp->rq_resused)
-+ rqstp->rq_respages[--rqstp->rq_resused] = NULL;
-+#else
- while (rqstp->rq_next_page != rqstp->rq_respages)
- *(--rqstp->rq_next_page) = NULL;
-+#endif
-
- return err;
- }
-@@ -550,7 +555,11 @@ static int rdma_read_complete(struct svc_rqst *rqstp,
-
- /* rq_respages starts after the last arg page */
- rqstp->rq_respages = &rqstp->rq_arg.pages[page_no];
-+#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,8,0))
-+ rqstp->rq_resused = 0;
-+#else
- rqstp->rq_next_page = &rqstp->rq_arg.pages[page_no];
-+#endif
-
- /* Rebuild rq_arg head and tail. */
- rqstp->rq_arg.head[0] = head->arg.head[0];
-diff --git a/net/sunrpc/xprtrdma/svc_rdma_sendto.c b/net/sunrpc/xprtrdma/svc_rdma_sendto.c
-index c1d124d..59d462d 100644
---- a/net/sunrpc/xprtrdma/svc_rdma_sendto.c
-+++ b/net/sunrpc/xprtrdma/svc_rdma_sendto.c
-@@ -548,7 +548,9 @@ static int send_reply(struct svcxprt_rdma *rdma,
- int sge_no;
- int sge_bytes;
- int page_no;
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,8,0))
- int pages;
-+#endif
- int ret;
-
- /* Post a recv buffer to handle another request. */
-@@ -612,8 +614,12 @@ static int send_reply(struct svcxprt_rdma *rdma,
- * respages array. They are our pages until the I/O
- * completes.
- */
-+#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,8,0))
-+ for (page_no = 0; page_no < rqstp->rq_resused; page_no++) {
-+#else
- pages = rqstp->rq_next_page - rqstp->rq_respages;
- for (page_no = 0; page_no < pages; page_no++) {
-+#endif
- ctxt->pages[page_no+1] = rqstp->rq_respages[page_no];
- ctxt->count++;
- rqstp->rq_respages[page_no] = NULL;
-diff --git a/net/sunrpc/xprtrdma/svc_rdma_transport.c b/net/sunrpc/xprtrdma/svc_rdma_transport.c
-index 62e4f9b..f4d65b1 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(&svc_rdma_class, &cma_xprt->sc_xprt, serv);
-+#else
- svc_xprt_init(&init_net, &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 285dc08..b53d9f3 100644
---- a/net/sunrpc/xprtrdma/transport.c
-+++ b/net/sunrpc/xprtrdma/transport.c
-@@ -51,7 +51,9 @@
- #include <linux/init.h>
- #include <linux/slab.h>
- #include <linux/seq_file.h>
-+#if (LINUX_VERSION_CODE > KERNEL_VERSION(3,8,0))
- #include <linux/sunrpc/addr.h>
-+#endif
-
- #include "xprt_rdma.h"
-
-@@ -707,7 +709,9 @@ static void xprt_rdma_print_stats(struct rpc_xprt *xprt, struct seq_file *seq)
- static struct rpc_xprt_ops xprt_rdma_procs = {
- .reserve_xprt = xprt_rdma_reserve_xprt,
- .release_xprt = xprt_release_xprt_cong, /* sunrpc/xprt.c */
-+#if (LINUX_VERSION_CODE > KERNEL_VERSION(3,7,0))
- .alloc_slot = xprt_alloc_slot,
-+#endif
- .release_request = xprt_release_rqst_cong, /* ditto */
- .set_retrans_timeout = xprt_set_retrans_timeout_def, /* ditto */
- .rpcbind = rpcb_getport_async, /* sunrpc/rpcb_clnt.c */
--- /dev/null
+From: Kumar Sanghvi <kumaras@chelsio.com>
+Subject: [PATCH] cxgb4: Backport for 40G support for Chelsio
+
+Signed-off-by: Kumar Sanghvi <kumaras@chelsio.com>
+---
+ drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
+index xxxxxxx..xxxxxxx xxxxxx
+--- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
++++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
+@@ -2250,6 +2250,11 @@ static int identify_port(struct net_device *dev,
+ return t4_identify_port(adap, adap->fn, netdev2pinfo(dev)->viid, val);
+ }
+
++#ifndef SUPPORTED_40000baseSR4_Full
++#define SUPPORTED_40000baseSR4_Full (1 << 25)
++#define ADVERTISED_40000baseSR4_Full (1 << 25)
++#endif
++
+ static unsigned int from_fw_linkcaps(unsigned int type, unsigned int caps)
+ {
+ unsigned int v = 0;
+++ /dev/null
-diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
-index c1f8e85..6b90eae 100644
---- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
-+++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
-@@ -2191,6 +2191,11 @@ static int identify_port(struct net_device *dev,
- return t4_identify_port(adap, adap->fn, netdev2pinfo(dev)->viid, val);
- }
-
-+#ifndef SUPPORTED_40000baseSR4_Full
-+#define SUPPORTED_40000baseSR4_Full (1 << 25)
-+#define ADVERTISED_40000baseSR4_Full (1 << 25)
-+#endif
-+
- static unsigned int from_fw_linkcaps(unsigned int type, unsigned int caps)
- {
- unsigned int v = 0;
-From 281ca94c09468c699d276f023949dd8e4750d26d Mon Sep 17 00:00:00 2001
From: Devesh Sharma <devesh.sharma@emulex.com>
-Date: Fri, 21 Feb 2014 23:30:40 +0530
-Subject: [PATCH 1/2] be2net: Backports for RHEL 6.4, RHEL 6.5 and SLES11SP3
+Subject: [PATCH] be2net: Backports for RHEL 6.4, RHEL 6.5 and SLES11SP3
Signed-off-by: Selvin Xavier <selvin.xavier@emulex.com>
Signed-off-by: Devesh Sharma <devesh.sharma@emulex.com>
---
- drivers/net/ethernet/emulex/benet/Makefile | 2 +-
- drivers/net/ethernet/emulex/benet/be.h | 8 +-
- drivers/net/ethernet/emulex/benet/be_cmds.c | 6 +-
- drivers/net/ethernet/emulex/benet/be_compat.c | 72 +++++++++++
- drivers/net/ethernet/emulex/benet/be_compat.h | 97 +++++++++++++++
- drivers/net/ethernet/emulex/benet/be_ethtool.c | 17 ++-
- drivers/net/ethernet/emulex/benet/be_main.c | 158 ++++++++++++++++++++---
+ drivers/net/ethernet/emulex/benet/Makefile | 2 +-
+ drivers/net/ethernet/emulex/benet/be.h | 8 +-
+ drivers/net/ethernet/emulex/benet/be_cmds.c | 6 +-
+ drivers/net/ethernet/emulex/benet/be_compat.c | 72 +++++++++++
+ drivers/net/ethernet/emulex/benet/be_compat.h | 97 +++++++++++++++
+ drivers/net/ethernet/emulex/benet/be_ethtool.c | 17 ++-
+ drivers/net/ethernet/emulex/benet/be_main.c | 158 +++++++++++++++++++++----
7 files changed, 333 insertions(+), 27 deletions(-)
create mode 100644 drivers/net/ethernet/emulex/benet/be_compat.c
create mode 100644 drivers/net/ethernet/emulex/benet/be_compat.h
diff --git a/drivers/net/ethernet/emulex/benet/Makefile b/drivers/net/ethernet/emulex/benet/Makefile
-index 1a91b27..a32863b 100644
+index xxxxxxx..xxxxxxx xxxxxx
--- a/drivers/net/ethernet/emulex/benet/Makefile
+++ b/drivers/net/ethernet/emulex/benet/Makefile
@@ -4,4 +4,4 @@
-be2net-y := be_main.o be_cmds.o be_ethtool.o be_roce.o
+be2net-y := be_main.o be_cmds.o be_ethtool.o be_roce.o be_compat.o
diff --git a/drivers/net/ethernet/emulex/benet/be.h b/drivers/net/ethernet/emulex/benet/be.h
-index db02023..fea7156 100644
+index xxxxxxx..xxxxxxx xxxxxx
--- a/drivers/net/ethernet/emulex/benet/be.h
+++ b/drivers/net/ethernet/emulex/benet/be.h
@@ -20,6 +20,7 @@
#define be_physfn(adapter) (!adapter->virtfn)
diff --git a/drivers/net/ethernet/emulex/benet/be_cmds.c b/drivers/net/ethernet/emulex/benet/be_cmds.c
-index c08fd32..cac9862 100644
+index xxxxxxx..xxxxxxx xxxxxx
--- a/drivers/net/ethernet/emulex/benet/be_cmds.c
+++ b/drivers/net/ethernet/emulex/benet/be_cmds.c
@@ -1823,7 +1823,11 @@ int be_cmd_rx_filter(struct be_adapter *adapter, u32 flags, u32 value)
+
+#endif /* BE_COMPAT_H */
diff --git a/drivers/net/ethernet/emulex/benet/be_ethtool.c b/drivers/net/ethernet/emulex/benet/be_ethtool.c
-index b440a1f..a739c20 100644
+index xxxxxxx..xxxxxxx xxxxxx
--- a/drivers/net/ethernet/emulex/benet/be_ethtool.c
+++ b/drivers/net/ethernet/emulex/benet/be_ethtool.c
@@ -638,7 +638,7 @@ be_set_pauseparam(struct net_device *netdev, struct ethtool_pauseparam *ecmd)
+#endif
};
diff --git a/drivers/net/ethernet/emulex/benet/be_main.c b/drivers/net/ethernet/emulex/benet/be_main.c
-index 2c38cc4..2ff0d29 100644
+index xxxxxxx..xxxxxxx xxxxxx
--- a/drivers/net/ethernet/emulex/benet/be_main.c
+++ b/drivers/net/ethernet/emulex/benet/be_main.c
@@ -146,8 +146,8 @@ static int be_queue_alloc(struct be_adapter *adapter, struct be_queue_info *q,
if (cmd->va == NULL)
return -1;
return 0;
---
-1.7.1
-
+++ /dev/null
-diff --git a/net/sunrpc/xprtrdma/transport.c b/net/sunrpc/xprtrdma/transport.c
-index 285dc08..ab74500 100644
---- a/net/sunrpc/xprtrdma/transport.c
-+++ b/net/sunrpc/xprtrdma/transport.c
-@@ -279,7 +281,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)) || defined (CONFIG_COMPAT_XPRT_ALLOC_4PARAMS)
- xprt_rdma_slot_table_entries,
-+#endif
- xprt_rdma_slot_table_entries);
- if (xprt == NULL) {
- dprintk("RPC: %s: couldn't allocate rpcrdma_xprt\n",
-@@ -448,8 +452,15 @@ xprt_rdma_connect(struct rpc_xprt *xprt, struct rpc_task *task)
- }
-
- static int
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0))
- xprt_rdma_reserve_xprt(struct rpc_xprt *xprt, struct rpc_task *task)
-+#else
-+xprt_rdma_reserve_xprt(struct rpc_task *task)
-+#endif
- {
-+#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,1,0))
-+ 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);
-
-@@ -461,7 +472,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)) || defined (CONFIG_COMPAT_XPRT_RESERVE_XPRT_CONG_2PARAMS)
- return xprt_reserve_xprt_cong(xprt, task);
-+#else
-+ return xprt_reserve_xprt_cong(task);
-+#endif
- }
-
- /*
+++ /dev/null
-From 5568060c3ed38e76e3a7e3e684545f546850a9a6 Mon Sep 17 00:00:00 2001
-From: Devesh Sharma <devesh.sharma@emulex.com>
-Date: Fri, 21 Feb 2014 11:23:34 -0800
-Subject: [PATCH] be2net: update version string
-
-The version string of be2net driver is updated.
-
-Signed-off-by: Devesh Sharma <devesh.sharma@emulex.com>
-Signed-off-by: Selvin Xavier <selvin.xavier@emulex.com>
----
- drivers/net/ethernet/emulex/benet/be.h | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/drivers/net/ethernet/emulex/benet/be.h b/drivers/net/ethernet/emulex/benet/be.h
-index db02023..54b6ab5 100644
---- a/drivers/net/ethernet/emulex/benet/be.h
-+++ b/drivers/net/ethernet/emulex/benet/be.h
-@@ -34,7 +34,7 @@
- #include "be_hw.h"
- #include "be_roce.h"
-
--#define DRV_VER "4.9.134.0u"
-+#define DRV_VER "4.9.134.0u-ofed"
- #define DRV_NAME "be2net"
- #define BE_NAME "Emulex BladeEngine2"
- #define BE3_NAME "Emulex BladeEngine3"
---
-1.7.0.4
-
--- /dev/null
+From: "Jeffrey C. Becker" <Jeffrey.C.Becker@nasa.gov>
+Subject: [PATCH] nfsrdma: Backport for sles11sp3
+
+Signed-off-by: Jeffrey C. Becker <Jeffrey.C.Becker@nasa.gov>
+---
+ net/sunrpc/xprtrdma/transport.c | 13 +++++++++++++
+ 1 file changed, 13 insertions(+)
+
+diff --git a/net/sunrpc/xprtrdma/transport.c b/net/sunrpc/xprtrdma/transport.c
+index xxxxxxx..xxxxxxx xxxxxx
+--- a/net/sunrpc/xprtrdma/transport.c
++++ b/net/sunrpc/xprtrdma/transport.c
+@@ -281,7 +281,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)) || defined (CONFIG_COMPAT_XPRT_ALLOC_4PARAMS)
+ xprt_rdma_slot_table_entries,
++#endif
+ xprt_rdma_slot_table_entries);
+ if (xprt == NULL) {
+ dprintk("RPC: %s: couldn't allocate rpcrdma_xprt\n",
+@@ -450,8 +452,15 @@ xprt_rdma_connect(struct rpc_xprt *xprt, struct rpc_task *task)
+ }
+
+ static int
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0))
+ xprt_rdma_reserve_xprt(struct rpc_xprt *xprt, struct rpc_task *task)
++#else
++xprt_rdma_reserve_xprt(struct rpc_task *task)
++#endif
+ {
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,1,0))
++ 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);
+
+@@ -463,7 +472,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)) || defined (CONFIG_COMPAT_XPRT_RESERVE_XPRT_CONG_2PARAMS)
+ return xprt_reserve_xprt_cong(xprt, task);
++#else
++ return xprt_reserve_xprt_cong(task);
++#endif
+ }
+
+ /*
--- /dev/null
+From: Devesh Sharma <devesh.sharma@emulex.com>
+Subject: [PATCH] be2net: update version string
+
+The version string of be2net driver is updated.
+
+Signed-off-by: Devesh Sharma <devesh.sharma@emulex.com>
+Signed-off-by: Selvin Xavier <selvin.xavier@emulex.com>
+---
+ drivers/net/ethernet/emulex/benet/be.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/drivers/net/ethernet/emulex/benet/be.h b/drivers/net/ethernet/emulex/benet/be.h
+index xxxxxxx..xxxxxxx xxxxxx
+--- a/drivers/net/ethernet/emulex/benet/be.h
++++ b/drivers/net/ethernet/emulex/benet/be.h
+@@ -37,7 +37,7 @@
+ #include "be_roce.h"
+ #include "be_compat.h"
+
+-#define DRV_VER "4.9.134.0u"
++#define DRV_VER "4.9.134.0u-ofed"
+ #define DRV_NAME "be2net"
+ #define BE_NAME "Emulex BladeEngine2"
+ #define BE3_NAME "Emulex BladeEngine3"
--- /dev/null
+From: Vladimir Sokolovsky <vlad@mellanox.com>
+Subject: [PATCH] mlx4_en: Backport for RHEL7.0
+
+Signed-off-by: Vladimir Sokolovsky <vlad@mellanox.com>
+---
+ drivers/net/ethernet/mellanox/mlx4/en_netdev.c | 2 ++
+ drivers/net/ethernet/mellanox/mlx4/en_rx.c | 2 ++
+ 2 files changed, 4 insertions(+)
+
+diff --git a/drivers/net/ethernet/mellanox/mlx4/en_netdev.c b/drivers/net/ethernet/mellanox/mlx4/en_netdev.c
+index xxxxxxx..xxxxxxx xxxxxx
+--- a/drivers/net/ethernet/mellanox/mlx4/en_netdev.c
++++ b/drivers/net/ethernet/mellanox/mlx4/en_netdev.c
+@@ -38,7 +38,9 @@
+ #include <linux/slab.h>
+ #include <linux/hash.h>
+ #include <net/ip.h>
++#ifdef CONFIG_NET_RX_BUSY_POLL
+ #include <net/busy_poll.h>
++#endif
+
+ #include <linux/mlx4/driver.h>
+ #include <linux/mlx4/device.h>
+diff --git a/drivers/net/ethernet/mellanox/mlx4/en_rx.c b/drivers/net/ethernet/mellanox/mlx4/en_rx.c
+index xxxxxxx..xxxxxxx xxxxxx
+--- a/drivers/net/ethernet/mellanox/mlx4/en_rx.c
++++ b/drivers/net/ethernet/mellanox/mlx4/en_rx.c
+@@ -31,7 +31,9 @@
+ *
+ */
+
++#ifdef CONFIG_NET_RX_BUSY_POLL
+ #include <net/busy_poll.h>
++#endif
+ #include <linux/mlx4/cq.h>
+ #include <linux/slab.h>
+ #include <linux/mlx4/qp.h>