]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commitdiff
IB/ipoib: Warn when one port fails to initialize
authorYuval Shaia <yuval.shaia@oracle.com>
Wed, 29 Nov 2017 06:34:02 +0000 (08:34 +0200)
committerThadeu Lima de Souza Cascardo <cascardo@canonical.com>
Mon, 26 Mar 2018 12:16:19 +0000 (09:16 -0300)
BugLink: http://bugs.launchpad.net/bugs/1758886
[ Upstream commit ac6dbf7fa4707c75a247b540cc0b5c881f3d0ba8 ]

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>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
drivers/infiniband/ulp/ipoib/ipoib_main.c

index 8880351df179382fa6d64b4b6e698c2fdb563e94..c35c28015f8e41e7e28ee3db2c68709b9c795f92 100644 (file)
@@ -2207,8 +2207,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;
@@ -2337,8 +2339,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;
        }