IB/ipoib: Use ib_init_ah_from_path to initialize ah_attr
authorSean Hefty <sean.hefty@intel.com>
Thu, 5 Apr 2007 18:50:11 +0000 (11:50 -0700)
committerRoland Dreier <rolandd@cisco.com>
Tue, 24 Apr 2007 23:31:12 +0000 (16:31 -0700)
To support destinations that are not on the local IB subnet, IPoIB
should include the GRH information when constructing an address
handle.  Using the existing ib_init_ah_from_path() call will do this
for us.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
drivers/infiniband/ulp/ipoib/ipoib_main.c

index f2a40ae..b4c380c 100644 (file)
@@ -395,14 +395,10 @@ static void path_rec_completion(int status,
        skb_queue_head_init(&skqueue);
 
        if (!status) {
-               struct ib_ah_attr av = {
-                       .dlid          = be16_to_cpu(pathrec->dlid),
-                       .sl            = pathrec->sl,
-                       .port_num      = priv->port,
-                       .static_rate   = pathrec->rate
-               };
-
-               ah = ipoib_create_ah(dev, priv->pd, &av);
+               struct ib_ah_attr av;
+
+               if (!ib_init_ah_from_path(priv->ca, priv->port, pathrec, &av))
+                       ah = ipoib_create_ah(dev, priv->pd, &av);
        }
 
        spin_lock_irqsave(&priv->lock, flags);