All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild@lists.01.org
Subject: [morimoto-linux:fw-cleanup-2021-02-01-v1 32/105] sound/soc/generic/audio-graph-card.c:514 __graph_for_each_link() error: uninitialized symbol 'ret'.
Date: Tue, 02 Feb 2021 10:16:22 +0300	[thread overview]
Message-ID: <20210202071622.GP2696@kadam> (raw)

[-- Attachment #1: Type: text/plain, Size: 6459 bytes --]

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 <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

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/kbuild-all@lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 38320 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild-all@lists.01.org
Subject: [morimoto-linux:fw-cleanup-2021-02-01-v1 32/105] sound/soc/generic/audio-graph-card.c:514 __graph_for_each_link() error: uninitialized symbol 'ret'.
Date: Tue, 02 Feb 2021 10:16:22 +0300	[thread overview]
Message-ID: <20210202071622.GP2696@kadam> (raw)

[-- Attachment #1: Type: text/plain, Size: 6459 bytes --]

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 <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

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/kbuild-all@lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 38320 bytes --]

             reply	other threads:[~2021-02-02  7:16 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-02  7:16 Dan Carpenter [this message]
2021-02-02  7:16 ` [morimoto-linux:fw-cleanup-2021-02-01-v1 32/105] sound/soc/generic/audio-graph-card.c:514 __graph_for_each_link() error: uninitialized symbol 'ret' Dan Carpenter
  -- strict thread matches above, loose matches on Subject: below --
2021-02-01  5:44 kernel test robot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210202071622.GP2696@kadam \
    --to=dan.carpenter@oracle.com \
    --cc=kbuild@lists.01.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.