diff options
author | Benjamin Gaignard <benjamin.gaignard@linaro.org> | 2018-07-16 07:37:44 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2018-07-21 03:51:44 -0400 |
commit | e16f4f3e0b7daecd48d4f944ab4147c1a6cb16a8 (patch) | |
tree | 02c94be8042debb20bc40926891c893dcf018978 | |
parent | 3297c8fc65af5d40501ea7cddff1b195cae57e4e (diff) |
base: core: Remove WARN_ON from link dependencies check
In some cases the link between between customer and supplier
already exist, for example when a device use its parent as a supplier.
Do not warn about already existing dependencies because device_link_add()
takes care of this case.
Link: http://lkml.kernel.org/r/20180709111753eucas1p1f32e66fb2f7ea3216097cd72a132355d~-rzycA5Rg0378203782eucas1p1C@eucas1p1.samsung.com
Reported-by: Marek Szyprowski <m.szyprowski@samsung.com>
Reviewed-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Benjamin Gaignard <benjamin.gaignard@st.com>
Reviewed-by: Rafael J. Wysocki <rafael@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | drivers/base/core.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/base/core.c b/drivers/base/core.c index 5411af447418..2300d834d11f 100644 --- a/drivers/base/core.c +++ b/drivers/base/core.c | |||
@@ -105,7 +105,7 @@ static int device_is_dependent(struct device *dev, void *target) | |||
105 | struct device_link *link; | 105 | struct device_link *link; |
106 | int ret; | 106 | int ret; |
107 | 107 | ||
108 | if (WARN_ON(dev == target)) | 108 | if (dev == target) |
109 | return 1; | 109 | return 1; |
110 | 110 | ||
111 | ret = device_for_each_child(dev, target, device_is_dependent); | 111 | ret = device_for_each_child(dev, target, device_is_dependent); |
@@ -113,7 +113,7 @@ static int device_is_dependent(struct device *dev, void *target) | |||
113 | return ret; | 113 | return ret; |
114 | 114 | ||
115 | list_for_each_entry(link, &dev->links.consumers, s_node) { | 115 | list_for_each_entry(link, &dev->links.consumers, s_node) { |
116 | if (WARN_ON(link->consumer == target)) | 116 | if (link->consumer == target) |
117 | return 1; | 117 | return 1; |
118 | 118 | ||
119 | ret = device_is_dependent(link->consumer, target); | 119 | ret = device_is_dependent(link->consumer, target); |