[ofa-general] [PATCH] IB/ipoib - Problem with latest OFED 1.3 build... IPoIB and iPATH

Ralph Campbell ralph.campbell at qlogic.com
Fri Feb 8 11:41:14 PST 2008


Here is a suggested patch for ib_ipoib for fixing the OFED-1.3 RC4
problem with ib_ipath.

Note that I'm not completely familiar with all the ib_ipoib changes.
In particular, I haven't checked that IB_EVENT_LID_CHANGE correctly
updates priv->own_ah.


--- a/drivers/infiniband/ulp/ipoib/ipoib_ib.c	2008-02-07 17:51:06.000000000 -0800
+++ b/drivers/infiniband/ulp/ipoib/ipoib_ib.c	2008-02-08 11:33:06.000000000 -0800
@@ -664,8 +664,8 @@ void ipoib_reap_ah(struct work_struct *w
 
 static int create_own_ah(struct ipoib_dev_priv *priv)
 {
+	struct ib_port_attr pattr;
 	struct ib_ah_attr attr = {
-		.dlid = priv->local_lid,
 		.port_num = priv->port,
 	};
 
@@ -673,6 +673,9 @@ static int create_own_ah(struct ipoib_de
 		ipoib_dbg(priv, "own ah already exists\n");
 		return -EINVAL;
 	}
+	if (ib_query_port(priv->ca, priv->port, &pattr))
+		return -EINVAL;
+	attr.dlid = pattr.lid;
 	priv->own_ah = ib_create_ah(priv->pd, &attr);
 	return IS_ERR(priv->own_ah);
 }





More information about the general mailing list