RDMA/srp: Handle dev_set_name() failure
authorBart Van Assche <bvanassche@acm.org>
Thu, 25 Aug 2022 21:38:59 +0000 (14:38 -0700)
committerLeon Romanovsky <leonro@nvidia.com>
Sun, 28 Aug 2022 10:02:20 +0000 (13:02 +0300)
Instead of ignoring dev_set_name() failure, handle dev_set_name()
failure. Convert a device_register() call into device_initialize() and
device_add() calls.

Link: https://lore.kernel.org/r/20220825213900.864587-4-bvanassche@acm.org
Reported-by: Bo Liu <liubo03@inspur.com>
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
drivers/infiniband/ulp/srp/ib_srp.c

index 1d3a15e63732384c77e8d7472f649d3d0a953f88..3f31a0eef1eff13265c85fc1dd53e21c0501ae50 100644 (file)
@@ -3902,12 +3902,13 @@ static struct srp_host *srp_add_port(struct srp_device *device, u8 port)
        host->srp_dev = device;
        host->port = port;
 
+       device_initialize(&host->dev);
        host->dev.class = &srp_class;
        host->dev.parent = device->dev->dev.parent;
-       dev_set_name(&host->dev, "srp-%s-%d", dev_name(&device->dev->dev),
-                    port);
-
-       if (device_register(&host->dev))
+       if (dev_set_name(&host->dev, "srp-%s-%d", dev_name(&device->dev->dev),
+                        port))
+               goto put_host;
+       if (device_add(&host->dev))
                goto put_host;
        if (device_create_file(&host->dev, &dev_attr_add_target))
                goto put_host;