summaryrefslogtreecommitdiff
path: root/drivers/dahdi/dahdi-sysfs.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/dahdi/dahdi-sysfs.c')
-rw-r--r--drivers/dahdi/dahdi-sysfs.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/dahdi/dahdi-sysfs.c b/drivers/dahdi/dahdi-sysfs.c
index a03aba8..3e6d157 100644
--- a/drivers/dahdi/dahdi-sysfs.c
+++ b/drivers/dahdi/dahdi-sysfs.c
@@ -796,10 +796,17 @@ int dahdi_sysfs_add_device(struct dahdi_device *ddev, struct device *parent)
{
int ret;
struct device *const dev = &ddev->dev;
+ const char *dn;
dev->parent = parent;
dev->bus = &dahdi_device_bus;
- dev_set_name(dev, "%s:%s", parent->bus->name, dev_name(parent));
+ dn = dev_name(dev);
+ if (!dn || !*dn) {
+ /* Invent default name based on parent */
+ if (!parent)
+ return -EINVAL;
+ dev_set_name(dev, "%s:%s", parent->bus->name, dev_name(parent));
+ }
ret = device_add(dev);
return ret;
}