Commit 8b19d450 authored by Jon Mason's avatar Jon Mason

NTB: Multiple NTB client fix

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: default avatarJon Mason <jon.mason@intel.com>
parent 904435cf
...@@ -300,7 +300,7 @@ int ntb_register_client_dev(char *device_name) ...@@ -300,7 +300,7 @@ int ntb_register_client_dev(char *device_name)
{ {
struct ntb_transport_client_dev *client_dev; struct ntb_transport_client_dev *client_dev;
struct ntb_transport *nt; struct ntb_transport *nt;
int rc; int rc, i = 0;
if (list_empty(&ntb_transport_list)) if (list_empty(&ntb_transport_list))
return -ENODEV; return -ENODEV;
...@@ -318,7 +318,7 @@ int ntb_register_client_dev(char *device_name) ...@@ -318,7 +318,7 @@ int ntb_register_client_dev(char *device_name)
dev = &client_dev->dev; dev = &client_dev->dev;
/* setup and register client devices */ /* 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->bus = &ntb_bus_type;
dev->release = ntb_client_release; dev->release = ntb_client_release;
dev->parent = &ntb_query_pdev(nt->ndev)->dev; dev->parent = &ntb_query_pdev(nt->ndev)->dev;
...@@ -330,6 +330,7 @@ int ntb_register_client_dev(char *device_name) ...@@ -330,6 +330,7 @@ int ntb_register_client_dev(char *device_name)
} }
list_add_tail(&client_dev->entry, &nt->client_devs); list_add_tail(&client_dev->entry, &nt->client_devs);
i++;
} }
return 0; return 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment