From 03b4836594f3c6c7623915a85095775e8237a4ed Mon Sep 17 00:00:00 2001 From: Vipul Pandya Date: Tue, 31 Jul 2012 15:28:16 +0530 Subject: [PATCH] iw_cxgb3: Backports for RHEL6.2 RHEL6.3 and SLES11 SP2 Signed-off-by: Vipul Pandya --- ...ts-for-RHEL6.2-RHEL-6.3-and-SLES11-S.patch | 75 +++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 patches/0012-iw_cxgb3-Backports-for-RHEL6.2-RHEL-6.3-and-SLES11-S.patch diff --git a/patches/0012-iw_cxgb3-Backports-for-RHEL6.2-RHEL-6.3-and-SLES11-S.patch b/patches/0012-iw_cxgb3-Backports-for-RHEL6.2-RHEL-6.3-and-SLES11-S.patch new file mode 100644 index 0000000..249b410 --- /dev/null +++ b/patches/0012-iw_cxgb3-Backports-for-RHEL6.2-RHEL-6.3-and-SLES11-S.patch @@ -0,0 +1,75 @@ +From 822db87429e1fe56599a65ed355359362c4d5804 Mon Sep 17 00:00:00 2001 +From: Vipul Pandya +Date: Mon, 30 Jul 2012 12:38:36 +0530 +Subject: [PATCH 3/4] iw_cxgb3: Backports for RHEL6.2 RHEL 6.3 and SLES11 SP2 + +Signed-off-by: Vipul Pandya +--- + drivers/infiniband/hw/cxgb3/iwch_cm.c | 29 +++++++++++++++++++++++++++++ + 1 files changed, 29 insertions(+), 0 deletions(-) + +diff --git a/drivers/infiniband/hw/cxgb3/iwch_cm.c b/drivers/infiniband/hw/cxgb3/iwch_cm.c +index 740dcc0..07bef67 100644 +--- a/drivers/infiniband/hw/cxgb3/iwch_cm.c ++++ b/drivers/infiniband/hw/cxgb3/iwch_cm.c +@@ -338,12 +338,33 @@ static struct rtable *find_route(struct t3cdev *dev, __be32 local_ip, + __be16 peer_port, u8 tos) + { + struct rtable *rt; ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 0, 0) + struct flowi4 fl4; + + rt = ip_route_output_ports(&init_net, &fl4, NULL, peer_ip, local_ip, + peer_port, local_port, IPPROTO_TCP, + tos, 0); + if (IS_ERR(rt)) ++#else ++ struct flowi fl = { ++ .oif = 0, ++ .nl_u = { ++ .ip4_u = { ++ .daddr = peer_ip, ++ .saddr = local_ip, ++ .tos = tos ++ } ++ }, ++ .proto = IPPROTO_TCP, ++ .uli_u = { ++ .ports = { ++ .sport = local_port, ++ .dport = peer_port ++ } ++ } ++ }; ++ if (ip_route_output_flow(&init_net, &rt, &fl, NULL, false)) ++#endif + return NULL; + return rt; + } +@@ -1373,7 +1394,11 @@ static int pass_accept_req(struct t3cdev *tdev, struct sk_buff *skb, void *ctx) + __func__); + goto reject; + } ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 36) + dst = &rt->dst; ++#else ++ dst = &rt->u.dst; ++#endif + l2t = t3_l2t_get(tdev, dst, NULL); + if (!l2t) { + printk(KERN_ERR MOD "%s - failed to allocate l2t entry!\n", +@@ -1941,7 +1966,11 @@ int iwch_connect(struct iw_cm_id *cm_id, struct iw_cm_conn_param *conn_param) + err = -EHOSTUNREACH; + goto fail3; + } ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 36) + ep->dst = &rt->dst; ++#else ++ ep->dst = &rt->u.dst; ++#endif + ep->l2t = t3_l2t_get(ep->com.tdev, ep->dst, NULL); + if (!ep->l2t) { + printk(KERN_ERR MOD "%s - cannot alloc l2e.\n", __func__); +-- +1.7.1 + -- 2.46.0