[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>

authored by Yinghai Lu and committed by James Bottomley 5e43754f 9a1a69a1

+3 -3
+3 -3
drivers/misc/enclosure.c
··· 119 119 edev->edev.class = &enclosure_class; 120 120 edev->edev.parent = get_device(dev); 121 121 edev->cb = cb; 122 - dev_set_name(&edev->edev, name); 122 + dev_set_name(&edev->edev, "%s", name); 123 123 err = device_register(&edev->edev); 124 124 if (err) 125 125 goto err; ··· 255 255 ecomp->number = number; 256 256 cdev = &ecomp->cdev; 257 257 cdev->parent = get_device(&edev->edev); 258 - if (name) 259 - dev_set_name(cdev, name); 258 + if (name && name[0]) 259 + dev_set_name(cdev, "%s", name); 260 260 else 261 261 dev_set_name(cdev, "%u", number); 262 262