tree:   https://github.com/morimoto/linux fw-cleanup-2021-02-01-v1
head:   5b4245224e7512af00a891f6bb91474bea0a361e
commit: c8a125300801eaf71415c1283f742d19a5c641fb [32/105] ASoC: audio-graph: 
cleanup graph_for_each_link()
config: x86_64-randconfig-m001-20210201 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email protected]>
Reported-by: Dan Carpenter <[email protected]>

smatch warnings:
sound/soc/generic/audio-graph-card.c:514 __graph_for_each_link() error: 
uninitialized symbol 'ret'.

vim +/ret +514 sound/soc/generic/audio-graph-card.c

c8a125300801ea Kuninori Morimoto 2020-11-16  452  static int 
__graph_for_each_link(struct asoc_simple_priv *priv,
fce9b90c1ab7e9 Kuninori Morimoto 2018-12-20  453                        struct 
link_info *li,
e59289cda8dec0 Kuninori Morimoto 2019-03-20  454                        int 
(*func_noml)(struct asoc_simple_priv *priv,
fce9b90c1ab7e9 Kuninori Morimoto 2018-12-20  455                                
         struct device_node *cpu_ep,
fce9b90c1ab7e9 Kuninori Morimoto 2018-12-20  456                                
         struct device_node *codec_ep,
fce9b90c1ab7e9 Kuninori Morimoto 2018-12-20  457                                
         struct link_info *li),
e59289cda8dec0 Kuninori Morimoto 2019-03-20  458                        int 
(*func_dpcm)(struct asoc_simple_priv *priv,
fce9b90c1ab7e9 Kuninori Morimoto 2018-12-20  459                                
         struct device_node *cpu_ep,
fce9b90c1ab7e9 Kuninori Morimoto 2018-12-20  460                                
         struct device_node *codec_ep,
c8a125300801ea Kuninori Morimoto 2020-11-16  461                                
         struct link_info *li))
2692c1c63c29ca Kuninori Morimoto 2017-04-20  462  {
2692c1c63c29ca Kuninori Morimoto 2017-04-20  463        struct 
of_phandle_iterator it;
e59289cda8dec0 Kuninori Morimoto 2019-03-20  464        struct device *dev = 
simple_priv_to_dev(priv);
fce9b90c1ab7e9 Kuninori Morimoto 2018-12-20  465        struct device_node 
*node = dev->of_node;
ae3cb5790906b5 Kuninori Morimoto 2018-12-14  466        struct device_node 
*cpu_port;
fce9b90c1ab7e9 Kuninori Morimoto 2018-12-20  467        struct device_node 
*cpu_ep;
fce9b90c1ab7e9 Kuninori Morimoto 2018-12-20  468        struct device_node 
*codec_ep;
fce9b90c1ab7e9 Kuninori Morimoto 2018-12-20  469        struct device_node 
*codec_port;
ae3cb5790906b5 Kuninori Morimoto 2018-12-14  470        struct device_node 
*codec_port_old = NULL;
ad11e59f52d6fc Kuninori Morimoto 2019-03-20  471        struct asoc_simple_data 
adata;
0e3460bceedc98 Kuninori Morimoto 2018-11-30  472        int rc, ret;
2692c1c63c29ca Kuninori Morimoto 2017-04-20  473  
fce9b90c1ab7e9 Kuninori Morimoto 2018-12-20  474        /* loop for all listed 
CPU port */
2692c1c63c29ca Kuninori Morimoto 2017-04-20  475        
of_for_each_phandle(&it, rc, node, "dais", NULL, 0) {
ae3cb5790906b5 Kuninori Morimoto 2018-12-14  476                cpu_port = 
it.node;
ae3cb5790906b5 Kuninori Morimoto 2018-12-14  477                cpu_ep   = NULL;
fce9b90c1ab7e9 Kuninori Morimoto 2018-12-20  478  
fce9b90c1ab7e9 Kuninori Morimoto 2018-12-20  479                /* loop for all 
CPU endpoint */
ae3cb5790906b5 Kuninori Morimoto 2018-12-14  480                while (1) {
ae3cb5790906b5 Kuninori Morimoto 2018-12-14  481                        cpu_ep 
= of_get_next_child(cpu_port, cpu_ep);
ae3cb5790906b5 Kuninori Morimoto 2018-12-14  482                        if 
(!cpu_ep)
ae3cb5790906b5 Kuninori Morimoto 2018-12-14  483                                
break;
ae3cb5790906b5 Kuninori Morimoto 2018-12-14  484  
fce9b90c1ab7e9 Kuninori Morimoto 2018-12-20  485                        /* get 
codec */
ae3cb5790906b5 Kuninori Morimoto 2018-12-14  486                        
codec_ep = of_graph_get_remote_endpoint(cpu_ep);
ae3cb5790906b5 Kuninori Morimoto 2018-12-14  487                        
codec_port = of_get_parent(codec_ep);
c0a480d1acf7dc Tony Lindgren     2017-07-28  488  
fce9b90c1ab7e9 Kuninori Morimoto 2018-12-20  489                        /* get 
convert-xxx property */
de2949fe262197 Kuninori Morimoto 2018-12-20  490                        
memset(&adata, 0, sizeof(adata));
d2bf008ad11abc Kuninori Morimoto 2019-03-18  491                        
graph_parse_convert(dev, codec_ep, &adata);
d2bf008ad11abc Kuninori Morimoto 2019-03-18  492                        
graph_parse_convert(dev, cpu_ep,   &adata);
de2949fe262197 Kuninori Morimoto 2018-12-20  493  
d09c774f2f9ff2 Sameer Pujar      2020-11-02  494                        /* 
check if link requires DPCM parsing */
c8a125300801ea Kuninori Morimoto 2020-11-16  495                        if 
(parse_as_dpcm_link(priv, codec_port, &adata)) {
c8a125300801ea Kuninori Morimoto 2020-11-16  496                                
/*
c8a125300801ea Kuninori Morimoto 2020-11-16  497                                
 * Codec endpoint can be NULL for pluggable audio HW.
c8a125300801ea Kuninori Morimoto 2020-11-16  498                                
 * Platform DT can populate the Codec endpoint depending on the
c8a125300801ea Kuninori Morimoto 2020-11-16  499                                
 * plugged HW.
c8a125300801ea Kuninori Morimoto 2020-11-16  500                                
 */
c8a125300801ea Kuninori Morimoto 2020-11-16  501                                
/* Do it all CPU endpoint, and 1st Codec endpoint */
c8a125300801ea Kuninori Morimoto 2020-11-16  502                                
if (li->cpu ||
c8a125300801ea Kuninori Morimoto 2020-11-16  503                                
    ((codec_port_old != codec_port) && codec_ep))
c8a125300801ea Kuninori Morimoto 2020-11-16  504                                
        ret = func_dpcm(priv, cpu_ep, codec_ep, li);

"ret" not initialized on else path.

fce9b90c1ab7e9 Kuninori Morimoto 2018-12-20  505                        /* else 
normal sound */
c8a125300801ea Kuninori Morimoto 2020-11-16  506                        } else {
c8a125300801ea Kuninori Morimoto 2020-11-16  507                                
if (li->cpu)
fce9b90c1ab7e9 Kuninori Morimoto 2018-12-20  508                                
        ret = func_noml(priv, cpu_ep, codec_ep, li);

"ret" not initialized if "li->cpu == 0".

c8a125300801ea Kuninori Morimoto 2020-11-16  509                        }
fce9b90c1ab7e9 Kuninori Morimoto 2018-12-20  510  
1bcc1fd64e4dd9 Wen Yang          2019-07-04  511                        
of_node_put(codec_ep);
1bcc1fd64e4dd9 Wen Yang          2019-07-04  512                        
of_node_put(codec_port);
1bcc1fd64e4dd9 Wen Yang          2019-07-04  513  
ae3cb5790906b5 Kuninori Morimoto 2018-12-14 @514                        if (ret 
< 0)
2692c1c63c29ca Kuninori Morimoto 2017-04-20  515                                
return ret;
fce9b90c1ab7e9 Kuninori Morimoto 2018-12-20  516  
dd98fbc558a035 Kuninori Morimoto 2018-12-20  517                        
codec_port_old = codec_port;
2692c1c63c29ca Kuninori Morimoto 2017-04-20  518                }
c0a480d1acf7dc Tony Lindgren     2017-07-28  519        }
fce9b90c1ab7e9 Kuninori Morimoto 2018-12-20  520  
fce9b90c1ab7e9 Kuninori Morimoto 2018-12-20  521        return 0;
fce9b90c1ab7e9 Kuninori Morimoto 2018-12-20  522  }

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]

Attachment: .config.gz
Description: application/gzip

_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to