aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYuval Shaia <yuval.shaia@oracle.com>2017-11-29 08:34:02 +0200
committerJason Gunthorpe <jgg@mellanox.com>2017-12-13 10:55:49 -0700
commitac6dbf7fa4707c75a247b540cc0b5c881f3d0ba8 (patch)
treef1d259bf9299db3d2b85a8dadafa9e660f52d1e0
parentRDMA/bnxt_re: Remove redundant bnxt_qplib_disable_nq() call (diff)
downloadlinux-dev-ac6dbf7fa4707c75a247b540cc0b5c881f3d0ba8.tar.xz
linux-dev-ac6dbf7fa4707c75a247b540cc0b5c881f3d0ba8.zip
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>
-rw-r--r--drivers/infiniband/ulp/ipoib/ipoib_main.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/infiniband/ulp/ipoib/ipoib_main.c b/drivers/infiniband/ulp/ipoib/ipoib_main.c
index 6930ee0d63cf..567dbd45817c 100644
--- a/drivers/infiniband/ulp/ipoib/ipoib_main.c
+++ b/drivers/infiniband/ulp/ipoib/ipoib_main.c
@@ -2196,8 +2196,10 @@ static struct net_device *ipoib_add_port(const char *format,
int result = -ENOMEM;
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;
+ }
SET_NETDEV_DEV(priv->dev, hca->dev.parent);
priv->dev->dev_id = port - 1;
@@ -2325,8 +2327,7 @@ static void ipoib_add_one(struct ib_device *device)
}
if (!count) {
- pr_err("Failed to init port, removing it\n");
- ipoib_remove_one(device, dev_list);
+ kfree(dev_list);
return;
}