Эх сурвалжийг харах

IB/ipoib: Warn when one port fails to initialize

If one port fails to initialize an error message should indicate the
reason and driver should continue serving the working port(s) and other
HCA(s).

Fixes: e4b2d06892c7 ("IB/ipoib: Remove device when one port fails to init").
Signed-off-by: Yuval Shaia <yuval.shaia@oracle.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
Yuval Shaia 7 жил өмнө
parent
commit
ac6dbf7fa4

+ 4 - 3
drivers/infiniband/ulp/ipoib/ipoib_main.c

@@ -2196,8 +2196,10 @@ static struct net_device *ipoib_add_port(const char *format,
 	int result = -ENOMEM;
 	int result = -ENOMEM;
 
 
 	priv = ipoib_intf_alloc(hca, port, format);
 	priv = ipoib_intf_alloc(hca, port, format);
-	if (!priv)
+	if (!priv) {
+		pr_warn("%s, %d: ipoib_intf_alloc failed\n", hca->name, port);
 		goto alloc_mem_failed;
 		goto alloc_mem_failed;
+	}
 
 
 	SET_NETDEV_DEV(priv->dev, hca->dev.parent);
 	SET_NETDEV_DEV(priv->dev, hca->dev.parent);
 	priv->dev->dev_id = port - 1;
 	priv->dev->dev_id = port - 1;
@@ -2325,8 +2327,7 @@ static void ipoib_add_one(struct ib_device *device)
 	}
 	}
 
 
 	if (!count) {
 	if (!count) {
-		pr_err("Failed to init port, removing it\n");
-		ipoib_remove_one(device, dev_list);
+		kfree(dev_list);
 		return;
 		return;
 	}
 	}