summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYinghai Lu <yinghai@kernel.org>2009-04-30 19:13:41 -0700
committerJames Bottomley <James.Bottomley@HansenPartnership.com>2009-05-15 12:20:57 -0400
commit5e43754fd949193252ecb470d7fb08b547a1e310 (patch)
tree8ae2fc9d4afd3299717ff8d0d21f4fc21555f7d8
parent9a1a69a1f41cbefebf3172761f197db6aba71e68 (diff)
downloadlinux-5e43754fd949193252ecb470d7fb08b547a1e310.tar.gz
linux-5e43754fd949193252ecb470d7fb08b547a1e310.tar.bz2
linux-5e43754fd949193252ecb470d7fb08b547a1e310.zip
[SCSI] ses: fix problems caused by empty SES provided name
We use the name provided by SES to name objects. An empty name is legal in SES but causes problems in our generic device hierarchy. Fix this by falling back to a number if the name is either NULL or empty. Also fix a secondary bug spotted in that dev_set_name(dev, name) uses a string format and so would go wrong if name contained a '%'. Signed-off-by: Yinghai Lu <yinghai@kernel.org> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
-rw-r--r--drivers/misc/enclosure.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/misc/enclosure.c b/drivers/misc/enclosure.c
index 3cf61ece71d7..348443bdb23b 100644
--- a/drivers/misc/enclosure.c
+++ b/drivers/misc/enclosure.c
@@ -119,7 +119,7 @@ enclosure_register(struct device *dev, const char *name, int components,
edev->edev.class = &enclosure_class;
edev->edev.parent = get_device(dev);
edev->cb = cb;
- dev_set_name(&edev->edev, name);
+ dev_set_name(&edev->edev, "%s", name);
err = device_register(&edev->edev);
if (err)
goto err;
@@ -255,8 +255,8 @@ enclosure_component_register(struct enclosure_device *edev,
ecomp->number = number;
cdev = &ecomp->cdev;
cdev->parent = get_device(&edev->edev);
- if (name)
- dev_set_name(cdev, name);
+ if (name && name[0])
+ dev_set_name(cdev, "%s", name);
else
dev_set_name(cdev, "%u", number);