NTB: Multiple NTB client fix
authorJon Mason <jon.mason@intel.com>
Fri, 26 Apr 2013 21:51:57 +0000 (14:51 -0700)
committerJon Mason <jon.mason@intel.com>
Wed, 15 May 2013 17:58:22 +0000 (10:58 -0700)
Fix issue with adding multiple ntb client devices to the ntb virtual
bus.  Previously, multiple devices would be added with the same name,
resulting in crashes.  To get around this issue, add a unique number to
the device when it is added.

Signed-off-by: Jon Mason <jon.mason@intel.com>
drivers/ntb/ntb_transport.c

index 583a7d3f0ce12b039b837c5bcc4a3df8e14a3d7e..f8d7081ee3014322e90c767fd766456f5410d311 100644 (file)
@@ -300,7 +300,7 @@ int ntb_register_client_dev(char *device_name)
 {
        struct ntb_transport_client_dev *client_dev;
        struct ntb_transport *nt;
-       int rc;
+       int rc, i = 0;
 
        if (list_empty(&ntb_transport_list))
                return -ENODEV;
@@ -318,7 +318,7 @@ int ntb_register_client_dev(char *device_name)
                dev = &client_dev->dev;
 
                /* setup and register client devices */
-               dev_set_name(dev, "%s", device_name);
+               dev_set_name(dev, "%s%d", device_name, i);
                dev->bus = &ntb_bus_type;
                dev->release = ntb_client_release;
                dev->parent = &ntb_query_pdev(nt->ndev)->dev;
@@ -330,6 +330,7 @@ int ntb_register_client_dev(char *device_name)
                }
 
                list_add_tail(&client_dev->entry, &nt->client_devs);
+               i++;
        }
 
        return 0;