IB/ipoib: Remove device when one port fails to init
authorYuval Shaia <yuval.shaia@oracle.com>
Mon, 25 Sep 2017 12:18:00 +0000 (05:18 -0700)
committerDoug Ledford <dledford@redhat.com>
Wed, 27 Sep 2017 13:17:51 +0000 (09:17 -0400)
Call ipoib_remove_one when one of the IPoIB ports fails to initialize in
order not to leave the module in unstable state.

Signed-off-by: Yuval Shaia <yuval.shaia@oracle.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
drivers/infiniband/ulp/ipoib/ipoib_main.c

index 2b1b0f2..1983494 100644 (file)
@@ -2311,7 +2311,8 @@ static void ipoib_add_one(struct ib_device *device)
        }
 
        if (!count) {
-               kfree(dev_list);
+               pr_err("Failed to init port, removing it\n");
+               ipoib_remove_one(device, dev_list);
                return;
        }