When CONFIG_OF is disabled, of_graph_parse_endpoint() does not
initialize 'info', and gcc can see that:

sound/soc/generic/simple-card-utils.c: In function 
'asoc_simple_card_parse_graph_dai':
sound/soc/generic/simple-card-utils.c:284:13: error: 'info.port' may be used 
uninitialized in this function [-Werror=maybe-uninitialized]

It's probably best to check the return code anyway, and that also
takes care of the warning.

Fixes: b6f3fc005a2c ("ASoC: simple-card-utils: fixup 
asoc_simple_card_get_dai_id() counting")
Signed-off-by: Arnd Bergmann <a...@arndb.de>
---
 sound/soc/generic/simple-card-utils.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/sound/soc/generic/simple-card-utils.c 
b/sound/soc/generic/simple-card-utils.c
index 6a31d07976b9..17d8aee43835 100644
--- a/sound/soc/generic/simple-card-utils.c
+++ b/sound/soc/generic/simple-card-utils.c
@@ -280,7 +280,10 @@ static int asoc_simple_card_get_dai_id(struct device_node 
*ep)
         * Non HDMI sound case, counting port/endpoint on its DT
         * is enough. Let's count it.
         */
-       of_graph_parse_endpoint(ep, &info);
+       ret = of_graph_parse_endpoint(ep, &info);
+       if (ret)
+               return -ENXIO;
+
        return info.port;
 }
 
-- 
2.20.0

Reply via email to