[PATCH] ppc32: Fix string comparing in platform_notify_map
Fixed odd function behavior when dev->bus_id does not contain '.' - it compared that case 0 characters of the string and hereby reported success and executed callback. Now bus_id's are compared correctly, extra callback triggering eliminated. Signed-off-by: Vitaly Bordug <vbordug@ru.mvista.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
This commit is contained in:
committed by
Paul Mackerras
parent
49c28e4e40
commit
132058f78a
@@ -156,12 +156,13 @@ void platform_notify_map(const struct platform_notify_dev_map *map,
|
|||||||
while (map->bus_id != NULL) {
|
while (map->bus_id != NULL) {
|
||||||
idx = -1;
|
idx = -1;
|
||||||
s = strrchr(dev->bus_id, '.');
|
s = strrchr(dev->bus_id, '.');
|
||||||
if (s != NULL)
|
if (s != NULL) {
|
||||||
idx = (int)simple_strtol(s + 1, NULL, 10);
|
idx = (int)simple_strtol(s + 1, NULL, 10);
|
||||||
else
|
len = s - dev->bus_id;
|
||||||
|
} else {
|
||||||
s = dev->bus_id;
|
s = dev->bus_id;
|
||||||
|
len = strlen(dev->bus_id);
|
||||||
len = s - dev->bus_id;
|
}
|
||||||
|
|
||||||
if (!strncmp(dev->bus_id, map->bus_id, len)) {
|
if (!strncmp(dev->bus_id, map->bus_id, len)) {
|
||||||
pdev = container_of(dev, struct platform_device, dev);
|
pdev = container_of(dev, struct platform_device, dev);
|
||||||
|
Reference in New Issue
Block a user