regulator: prevent registration of matching regulator consumer supplies
Acked-by: Mark Brown <[email protected]>
Pointer comparison is not sufficient for non-NULL device name matching,
so use strcmp(). Otherwise the semantics remain the same.
Signed-off-by: Jani Nikula <[email protected]>
Signed-off-by: Liam Girdwood <[email protected]>
diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c
index eb112d9..2a3494f 100644
--- a/drivers/regulator/core.c
+++ b/drivers/regulator/core.c
@@ -944,8 +944,13 @@
has_dev = 0;
list_for_each_entry(node, ®ulator_map_list, list) {
- if (consumer_dev_name != node->dev_name)
+ if (node->dev_name && consumer_dev_name) {
+ if (strcmp(node->dev_name, consumer_dev_name) != 0)
+ continue;
+ } else if (node->dev_name || consumer_dev_name) {
continue;
+ }
+
if (strcmp(node->supply, supply) != 0)
continue;