[openib-general] [PATCH] ipoib: path->ah

Michael S. Tsirkin mst at mellanox.co.il
Mon Jan 16 07:38:14 PST 2006


The following patch fixes a crash we saw in testing.

---

SA query completion could initialize dlid before callback
initializes path->ah, so we must test path->ah rather than dlid.

Signed-off-by: Michael S. Tsirkin <mst at mellanox.co.il>

Index: last_stable/drivers/infiniband/ulp/ipoib/ipoib_main.c
===================================================================
--- last_stable.orig/drivers/infiniband/ulp/ipoib/ipoib_main.c
+++ last_stable/drivers/infiniband/ulp/ipoib/ipoib_main.c
@@ -505,7 +505,7 @@ static void neigh_add_path(struct sk_buf
 
 	list_add_tail(&neigh->list, &path->neigh_list);
 
-	if (path->pathrec.dlid) {
+	if (path->ah) {
 		kref_get(&path->ah->ref);
 		neigh->ah = path->ah;
 
@@ -589,7 +589,7 @@ static void unicast_arp_send(struct sk_b
 		return;
 	}
 
-	if (path->pathrec.dlid) {
+	if (path->ah) {
 		ipoib_dbg(priv, "Send unicast ARP to %04x\n",
 			  be16_to_cpu(path->pathrec.dlid));
 

-- 
MST



More information about the general mailing list