diff options
author | 2017-11-29 08:34:02 +0200 | |
---|---|---|
committer | 2017-12-13 10:55:49 -0700 | |
commit | ac6dbf7fa4707c75a247b540cc0b5c881f3d0ba8 (patch) | |
tree | f1d259bf9299db3d2b85a8dadafa9e660f52d1e0 | |
parent | RDMA/bnxt_re: Remove redundant bnxt_qplib_disable_nq() call (diff) | |
download | linux-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.c | 7 |
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; } |