aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ntb
diff options
context:
space:
mode:
authorJon Mason <jon.mason@intel.com>2013-04-26 17:51:57 -0400
committerJon Mason <jon.mason@intel.com>2013-05-15 13:58:22 -0400
commit8b19d450ad188d402a183ff4a4d40f31c3916fbf (patch)
treecefbccb4843d821183ae195e70a17c9938318945 /drivers/ntb
parent904435cf76a9bdd5eb41b1c4e049d5a64f3a8400 (diff)
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: Jon Mason <jon.mason@intel.com>
Diffstat (limited to 'drivers/ntb')
-rw-r--r--drivers/ntb/ntb_transport.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/ntb/ntb_transport.c b/drivers/ntb/ntb_transport.c
index 583a7d3f0ce1..f8d7081ee301 100644
--- a/drivers/ntb/ntb_transport.c
+++ b/drivers/ntb/ntb_transport.c
@@ -300,7 +300,7 @@ int ntb_register_client_dev(char *device_name)
300{ 300{
301 struct ntb_transport_client_dev *client_dev; 301 struct ntb_transport_client_dev *client_dev;
302 struct ntb_transport *nt; 302 struct ntb_transport *nt;
303 int rc; 303 int rc, i = 0;
304 304
305 if (list_empty(&ntb_transport_list)) 305 if (list_empty(&ntb_transport_list))
306 return -ENODEV; 306 return -ENODEV;
@@ -318,7 +318,7 @@ int ntb_register_client_dev(char *device_name)
318 dev = &client_dev->dev; 318 dev = &client_dev->dev;
319 319
320 /* setup and register client devices */ 320 /* setup and register client devices */
321 dev_set_name(dev, "%s", device_name); 321 dev_set_name(dev, "%s%d", device_name, i);
322 dev->bus = &ntb_bus_type; 322 dev->bus = &ntb_bus_type;
323 dev->release = ntb_client_release; 323 dev->release = ntb_client_release;
324 dev->parent = &ntb_query_pdev(nt->ndev)->dev; 324 dev->parent = &ntb_query_pdev(nt->ndev)->dev;
@@ -330,6 +330,7 @@ int ntb_register_client_dev(char *device_name)
330 } 330 }
331 331
332 list_add_tail(&client_dev->entry, &nt->client_devs); 332 list_add_tail(&client_dev->entry, &nt->client_devs);
333 i++;
333 } 334 }
334 335
335 return 0; 336 return 0;