From f70af9d5cc7edd732dece80f5535fe8f4d53a6e6 Mon Sep 17 00:00:00 2001 From: Or Gerlitz Date: Thu, 17 Jan 2008 17:03:45 +0200 Subject: [PATCH] --- yaml --- r: 83241 b: refs/heads/master c: bafff9741704959e99fb65a7327c017251019a19 h: refs/heads/master i: 83239: b4c6febc67deb18a2f293c72e0b349a54036c4d9 v: v3 --- [refs] | 2 +- trunk/drivers/infiniband/ulp/ipoib/ipoib_main.c | 13 +++++++------ 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/[refs] b/[refs] index 79a713355284..25025a0cfc34 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 0d89fe2c0ca12ad2ee4e35a0661319746af6e94a +refs/heads/master: bafff9741704959e99fb65a7327c017251019a19 diff --git a/trunk/drivers/infiniband/ulp/ipoib/ipoib_main.c b/trunk/drivers/infiniband/ulp/ipoib/ipoib_main.c index a082466f4a83..886a08cc7d4a 100644 --- a/trunk/drivers/infiniband/ulp/ipoib/ipoib_main.c +++ b/trunk/drivers/infiniband/ulp/ipoib/ipoib_main.c @@ -680,12 +680,7 @@ static int ipoib_start_xmit(struct sk_buff *skb, struct net_device *dev) neigh = *to_ipoib_neigh(skb->dst->neighbour); - if (ipoib_cm_get(neigh)) { - if (ipoib_cm_up(neigh)) { - ipoib_cm_send(dev, skb, ipoib_cm_get(neigh)); - goto out; - } - } else if (neigh->ah) { + if (neigh->ah) if (unlikely((memcmp(&neigh->dgid.raw, skb->dst->neighbour->ha + 4, sizeof(union ib_gid))) || @@ -706,6 +701,12 @@ static int ipoib_start_xmit(struct sk_buff *skb, struct net_device *dev) goto out; } + if (ipoib_cm_get(neigh)) { + if (ipoib_cm_up(neigh)) { + ipoib_cm_send(dev, skb, ipoib_cm_get(neigh)); + goto out; + } + } else if (neigh->ah) { ipoib_send(dev, skb, neigh->ah, IPOIB_QPN(skb->dst->neighbour->ha)); goto out; }