All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: oe-kbuild@lists.linux.dev
Cc: lkp@intel.com, Dan Carpenter <error27@gmail.com>
Subject: [jic23-iio:fixes-togreg 31/32] drivers/iio/potentiostat/lmp91000.c:353 lmp91000_probe() warn: missing unwind goto?
Date: Wed, 13 May 2026 04:35:18 +0800	[thread overview]
Message-ID: <202605130437.SgMZ43gQ-lkp@intel.com> (raw)

BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
TO: Salah Triki <salah.triki@gmail.com>
CC: Jonathan Cameron <jic23@kernel.org>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git fixes-togreg
head:   2ec11ebb4d0dea4aa9604f8336cd1e1c390d5dcb
commit: 82764dcb3643c70649f14fe8e92e667955574a8c [31/32] iio: potentiostat: lmp91000: fix probe order and cleanup paths
:::::: branch date: 27 hours ago
:::::: commit date: 27 hours ago
config: i386-randconfig-141-20260512 (https://download.01.org/0day-ci/archive/20260513/202605130437.SgMZ43gQ-lkp@intel.com/config)
compiler: gcc-14 (Debian 14.2.0-19) 14.2.0
smatch: v0.5.0-9065-ge9cc34fd

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Closes: https://lore.kernel.org/r/202605130437.SgMZ43gQ-lkp@intel.com/

smatch warnings:
drivers/iio/potentiostat/lmp91000.c:353 lmp91000_probe() warn: missing unwind goto?

vim +353 drivers/iio/potentiostat/lmp91000.c

67e17300dc1d760 Matt Ranostay    2016-09-24  294  
7d8b3e100abeeff Uwe Kleine-König 2022-11-18  295  static int lmp91000_probe(struct i2c_client *client)
67e17300dc1d760 Matt Ranostay    2016-09-24  296  {
67e17300dc1d760 Matt Ranostay    2016-09-24  297  	struct device *dev = &client->dev;
67e17300dc1d760 Matt Ranostay    2016-09-24  298  	struct lmp91000_data *data;
67e17300dc1d760 Matt Ranostay    2016-09-24  299  	struct iio_dev *indio_dev;
67e17300dc1d760 Matt Ranostay    2016-09-24  300  	int ret;
67e17300dc1d760 Matt Ranostay    2016-09-24  301  
67e17300dc1d760 Matt Ranostay    2016-09-24  302  	indio_dev = devm_iio_device_alloc(dev, sizeof(*data));
67e17300dc1d760 Matt Ranostay    2016-09-24  303  	if (!indio_dev)
67e17300dc1d760 Matt Ranostay    2016-09-24  304  		return -ENOMEM;
67e17300dc1d760 Matt Ranostay    2016-09-24  305  
67e17300dc1d760 Matt Ranostay    2016-09-24  306  	indio_dev->info = &lmp91000_info;
67e17300dc1d760 Matt Ranostay    2016-09-24  307  	indio_dev->channels = lmp91000_channels;
67e17300dc1d760 Matt Ranostay    2016-09-24  308  	indio_dev->num_channels = ARRAY_SIZE(lmp91000_channels);
67e17300dc1d760 Matt Ranostay    2016-09-24  309  	indio_dev->name = LMP91000_DRV_NAME;
67e17300dc1d760 Matt Ranostay    2016-09-24  310  	indio_dev->modes = INDIO_DIRECT_MODE;
67e17300dc1d760 Matt Ranostay    2016-09-24  311  	i2c_set_clientdata(client, indio_dev);
67e17300dc1d760 Matt Ranostay    2016-09-24  312  
67e17300dc1d760 Matt Ranostay    2016-09-24  313  	data = iio_priv(indio_dev);
67e17300dc1d760 Matt Ranostay    2016-09-24  314  	data->dev = dev;
67e17300dc1d760 Matt Ranostay    2016-09-24  315  	data->regmap = devm_regmap_init_i2c(client, &lmp91000_regmap_config);
67e17300dc1d760 Matt Ranostay    2016-09-24  316  	if (IS_ERR(data->regmap)) {
67e17300dc1d760 Matt Ranostay    2016-09-24  317  		dev_err(dev, "regmap initialization failed.\n");
67e17300dc1d760 Matt Ranostay    2016-09-24  318  		return PTR_ERR(data->regmap);
67e17300dc1d760 Matt Ranostay    2016-09-24  319  	}
67e17300dc1d760 Matt Ranostay    2016-09-24  320  
4d031666560da23 Gwendal Grignou  2021-03-09  321  	data->trig = devm_iio_trigger_alloc(dev, "%s-mux%d",
15ea2878bfb2550 Jonathan Cameron 2021-04-26  322  					    indio_dev->name,
15ea2878bfb2550 Jonathan Cameron 2021-04-26  323  					    iio_device_id(indio_dev));
368e8718875f17a Dixit Parmar     2025-08-22  324  	if (!data->trig)
67e17300dc1d760 Matt Ranostay    2016-09-24  325  		return -ENOMEM;
67e17300dc1d760 Matt Ranostay    2016-09-24  326  
67e17300dc1d760 Matt Ranostay    2016-09-24  327  	init_completion(&data->completion);
67e17300dc1d760 Matt Ranostay    2016-09-24  328  
67e17300dc1d760 Matt Ranostay    2016-09-24  329  	ret = lmp91000_read_config(data);
67e17300dc1d760 Matt Ranostay    2016-09-24  330  	if (ret)
67e17300dc1d760 Matt Ranostay    2016-09-24  331  		return ret;
67e17300dc1d760 Matt Ranostay    2016-09-24  332  
82764dcb3643c70 Salah Triki      2026-05-07  333  	data->cb_buffer = iio_channel_get_all_cb(dev, &lmp91000_buffer_cb, indio_dev);
82764dcb3643c70 Salah Triki      2026-05-07  334  	if (IS_ERR(data->cb_buffer)) {
82764dcb3643c70 Salah Triki      2026-05-07  335  		if (PTR_ERR(data->cb_buffer) == -ENODEV)
82764dcb3643c70 Salah Triki      2026-05-07  336  			ret = -EPROBE_DEFER;
82764dcb3643c70 Salah Triki      2026-05-07  337  		else
82764dcb3643c70 Salah Triki      2026-05-07  338  			ret = PTR_ERR(data->cb_buffer);
82764dcb3643c70 Salah Triki      2026-05-07  339  
82764dcb3643c70 Salah Triki      2026-05-07  340  		goto error_unreg_buffer;
82764dcb3643c70 Salah Triki      2026-05-07  341  	}
82764dcb3643c70 Salah Triki      2026-05-07  342  
67e17300dc1d760 Matt Ranostay    2016-09-24  343  	ret = iio_trigger_set_immutable(iio_channel_cb_get_iio_dev(data->cb_buffer),
67e17300dc1d760 Matt Ranostay    2016-09-24  344  					data->trig);
67e17300dc1d760 Matt Ranostay    2016-09-24  345  	if (ret) {
67e17300dc1d760 Matt Ranostay    2016-09-24  346  		dev_err(dev, "cannot set immutable trigger.\n");
67e17300dc1d760 Matt Ranostay    2016-09-24  347  		return ret;
67e17300dc1d760 Matt Ranostay    2016-09-24  348  	}
67e17300dc1d760 Matt Ranostay    2016-09-24  349  
67e17300dc1d760 Matt Ranostay    2016-09-24  350  	ret = iio_trigger_register(data->trig);
67e17300dc1d760 Matt Ranostay    2016-09-24  351  	if (ret) {
67e17300dc1d760 Matt Ranostay    2016-09-24  352  		dev_err(dev, "cannot register iio trigger.\n");
67e17300dc1d760 Matt Ranostay    2016-09-24 @353  		return ret;
67e17300dc1d760 Matt Ranostay    2016-09-24  354  	}
67e17300dc1d760 Matt Ranostay    2016-09-24  355  
67e17300dc1d760 Matt Ranostay    2016-09-24  356  	ret = iio_triggered_buffer_setup(indio_dev, NULL,
67e17300dc1d760 Matt Ranostay    2016-09-24  357  					 &lmp91000_buffer_handler,
67e17300dc1d760 Matt Ranostay    2016-09-24  358  					 &lmp91000_buffer_setup_ops);
67e17300dc1d760 Matt Ranostay    2016-09-24  359  	if (ret)
67e17300dc1d760 Matt Ranostay    2016-09-24  360  		goto error_unreg_trigger;
67e17300dc1d760 Matt Ranostay    2016-09-24  361  
67e17300dc1d760 Matt Ranostay    2016-09-24  362  	data->adc_chan = iio_channel_cb_get_channels(data->cb_buffer);
67e17300dc1d760 Matt Ranostay    2016-09-24  363  
67e17300dc1d760 Matt Ranostay    2016-09-24  364  	ret = iio_device_register(indio_dev);
67e17300dc1d760 Matt Ranostay    2016-09-24  365  	if (ret)
67e17300dc1d760 Matt Ranostay    2016-09-24  366  		goto error_unreg_cb_buffer;
67e17300dc1d760 Matt Ranostay    2016-09-24  367  
67e17300dc1d760 Matt Ranostay    2016-09-24  368  	return 0;
67e17300dc1d760 Matt Ranostay    2016-09-24  369  
67e17300dc1d760 Matt Ranostay    2016-09-24  370  error_unreg_cb_buffer:
67e17300dc1d760 Matt Ranostay    2016-09-24  371  	iio_channel_release_all_cb(data->cb_buffer);
67e17300dc1d760 Matt Ranostay    2016-09-24  372  
67e17300dc1d760 Matt Ranostay    2016-09-24  373  error_unreg_trigger:
67e17300dc1d760 Matt Ranostay    2016-09-24  374  	iio_trigger_unregister(data->trig);
67e17300dc1d760 Matt Ranostay    2016-09-24  375  
82764dcb3643c70 Salah Triki      2026-05-07  376  error_unreg_buffer:
82764dcb3643c70 Salah Triki      2026-05-07  377  	iio_triggered_buffer_cleanup(indio_dev);
82764dcb3643c70 Salah Triki      2026-05-07  378  
67e17300dc1d760 Matt Ranostay    2016-09-24  379  	return ret;
67e17300dc1d760 Matt Ranostay    2016-09-24  380  }
67e17300dc1d760 Matt Ranostay    2016-09-24  381  

:::::: The code at line 353 was first introduced by commit
:::::: 67e17300dc1d76091d2d513d6aa57e50af2c9648 iio: potentiostat: add LMP91000 support

:::::: TO: Matt Ranostay <mranostay@gmail.com>
:::::: CC: Jonathan Cameron <jic23@kernel.org>

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

WARNING: multiple messages have this Message-ID (diff)
From: Dan Carpenter <error27@gmail.com>
To: oe-kbuild@lists.linux.dev, Salah Triki <salah.triki@gmail.com>
Cc: lkp@intel.com, oe-kbuild-all@lists.linux.dev,
	Jonathan Cameron <jic23@kernel.org>
Subject: [jic23-iio:fixes-togreg 31/32] drivers/iio/potentiostat/lmp91000.c:353 lmp91000_probe() warn: missing unwind goto?
Date: Wed, 13 May 2026 10:02:40 +0300	[thread overview]
Message-ID: <202605130437.SgMZ43gQ-lkp@intel.com> (raw)
Message-ID: <20260513070240.hdar0VOKGpF-v_V9RgNR6vkuAqeQC0FfAc4g9ZMU0kw@z> (raw)

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git fixes-togreg
head:   2ec11ebb4d0dea4aa9604f8336cd1e1c390d5dcb
commit: 82764dcb3643c70649f14fe8e92e667955574a8c [31/32] iio: potentiostat: lmp91000: fix probe order and cleanup paths
config: i386-randconfig-141-20260512 (https://download.01.org/0day-ci/archive/20260513/202605130437.SgMZ43gQ-lkp@intel.com/config)
compiler: gcc-14 (Debian 14.2.0-19) 14.2.0
smatch: v0.5.0-9065-ge9cc34fd

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Closes: https://lore.kernel.org/r/202605130437.SgMZ43gQ-lkp@intel.com/

smatch warnings:
drivers/iio/potentiostat/lmp91000.c:353 lmp91000_probe() warn: missing unwind goto?

vim +353 drivers/iio/potentiostat/lmp91000.c

7d8b3e100abeeff Uwe Kleine-König 2022-11-18  295  static int lmp91000_probe(struct i2c_client *client)
67e17300dc1d760 Matt Ranostay    2016-09-24  296  {
67e17300dc1d760 Matt Ranostay    2016-09-24  297  	struct device *dev = &client->dev;
67e17300dc1d760 Matt Ranostay    2016-09-24  298  	struct lmp91000_data *data;
67e17300dc1d760 Matt Ranostay    2016-09-24  299  	struct iio_dev *indio_dev;
67e17300dc1d760 Matt Ranostay    2016-09-24  300  	int ret;
67e17300dc1d760 Matt Ranostay    2016-09-24  301  
67e17300dc1d760 Matt Ranostay    2016-09-24  302  	indio_dev = devm_iio_device_alloc(dev, sizeof(*data));
67e17300dc1d760 Matt Ranostay    2016-09-24  303  	if (!indio_dev)
67e17300dc1d760 Matt Ranostay    2016-09-24  304  		return -ENOMEM;
67e17300dc1d760 Matt Ranostay    2016-09-24  305  
67e17300dc1d760 Matt Ranostay    2016-09-24  306  	indio_dev->info = &lmp91000_info;
67e17300dc1d760 Matt Ranostay    2016-09-24  307  	indio_dev->channels = lmp91000_channels;
67e17300dc1d760 Matt Ranostay    2016-09-24  308  	indio_dev->num_channels = ARRAY_SIZE(lmp91000_channels);
67e17300dc1d760 Matt Ranostay    2016-09-24  309  	indio_dev->name = LMP91000_DRV_NAME;
67e17300dc1d760 Matt Ranostay    2016-09-24  310  	indio_dev->modes = INDIO_DIRECT_MODE;
67e17300dc1d760 Matt Ranostay    2016-09-24  311  	i2c_set_clientdata(client, indio_dev);
67e17300dc1d760 Matt Ranostay    2016-09-24  312  
67e17300dc1d760 Matt Ranostay    2016-09-24  313  	data = iio_priv(indio_dev);
67e17300dc1d760 Matt Ranostay    2016-09-24  314  	data->dev = dev;
67e17300dc1d760 Matt Ranostay    2016-09-24  315  	data->regmap = devm_regmap_init_i2c(client, &lmp91000_regmap_config);
67e17300dc1d760 Matt Ranostay    2016-09-24  316  	if (IS_ERR(data->regmap)) {
67e17300dc1d760 Matt Ranostay    2016-09-24  317  		dev_err(dev, "regmap initialization failed.\n");
67e17300dc1d760 Matt Ranostay    2016-09-24  318  		return PTR_ERR(data->regmap);
67e17300dc1d760 Matt Ranostay    2016-09-24  319  	}
67e17300dc1d760 Matt Ranostay    2016-09-24  320  
4d031666560da23 Gwendal Grignou  2021-03-09  321  	data->trig = devm_iio_trigger_alloc(dev, "%s-mux%d",
15ea2878bfb2550 Jonathan Cameron 2021-04-26  322  					    indio_dev->name,
15ea2878bfb2550 Jonathan Cameron 2021-04-26  323  					    iio_device_id(indio_dev));
368e8718875f17a Dixit Parmar     2025-08-22  324  	if (!data->trig)
67e17300dc1d760 Matt Ranostay    2016-09-24  325  		return -ENOMEM;
67e17300dc1d760 Matt Ranostay    2016-09-24  326  
67e17300dc1d760 Matt Ranostay    2016-09-24  327  	init_completion(&data->completion);
67e17300dc1d760 Matt Ranostay    2016-09-24  328  
67e17300dc1d760 Matt Ranostay    2016-09-24  329  	ret = lmp91000_read_config(data);
67e17300dc1d760 Matt Ranostay    2016-09-24  330  	if (ret)
67e17300dc1d760 Matt Ranostay    2016-09-24  331  		return ret;
67e17300dc1d760 Matt Ranostay    2016-09-24  332  
82764dcb3643c70 Salah Triki      2026-05-07  333  	data->cb_buffer = iio_channel_get_all_cb(dev, &lmp91000_buffer_cb, indio_dev);
82764dcb3643c70 Salah Triki      2026-05-07  334  	if (IS_ERR(data->cb_buffer)) {
82764dcb3643c70 Salah Triki      2026-05-07  335  		if (PTR_ERR(data->cb_buffer) == -ENODEV)
82764dcb3643c70 Salah Triki      2026-05-07  336  			ret = -EPROBE_DEFER;
82764dcb3643c70 Salah Triki      2026-05-07  337  		else
82764dcb3643c70 Salah Triki      2026-05-07  338  			ret = PTR_ERR(data->cb_buffer);
82764dcb3643c70 Salah Triki      2026-05-07  339  
82764dcb3643c70 Salah Triki      2026-05-07  340  		goto error_unreg_buffer;
82764dcb3643c70 Salah Triki      2026-05-07  341  	}
82764dcb3643c70 Salah Triki      2026-05-07  342  
67e17300dc1d760 Matt Ranostay    2016-09-24  343  	ret = iio_trigger_set_immutable(iio_channel_cb_get_iio_dev(data->cb_buffer),
67e17300dc1d760 Matt Ranostay    2016-09-24  344  					data->trig);
67e17300dc1d760 Matt Ranostay    2016-09-24  345  	if (ret) {
67e17300dc1d760 Matt Ranostay    2016-09-24  346  		dev_err(dev, "cannot set immutable trigger.\n");
67e17300dc1d760 Matt Ranostay    2016-09-24  347  		return ret;

Need to goto cleanup before returning

67e17300dc1d760 Matt Ranostay    2016-09-24  348  	}
67e17300dc1d760 Matt Ranostay    2016-09-24  349  
67e17300dc1d760 Matt Ranostay    2016-09-24  350  	ret = iio_trigger_register(data->trig);
67e17300dc1d760 Matt Ranostay    2016-09-24  351  	if (ret) {
67e17300dc1d760 Matt Ranostay    2016-09-24  352  		dev_err(dev, "cannot register iio trigger.\n");
67e17300dc1d760 Matt Ranostay    2016-09-24 @353  		return ret;

Same.

67e17300dc1d760 Matt Ranostay    2016-09-24  354  	}
67e17300dc1d760 Matt Ranostay    2016-09-24  355  
67e17300dc1d760 Matt Ranostay    2016-09-24  356  	ret = iio_triggered_buffer_setup(indio_dev, NULL,
67e17300dc1d760 Matt Ranostay    2016-09-24  357  					 &lmp91000_buffer_handler,
67e17300dc1d760 Matt Ranostay    2016-09-24  358  					 &lmp91000_buffer_setup_ops);
67e17300dc1d760 Matt Ranostay    2016-09-24  359  	if (ret)
67e17300dc1d760 Matt Ranostay    2016-09-24  360  		goto error_unreg_trigger;
67e17300dc1d760 Matt Ranostay    2016-09-24  361  
67e17300dc1d760 Matt Ranostay    2016-09-24  362  	data->adc_chan = iio_channel_cb_get_channels(data->cb_buffer);
67e17300dc1d760 Matt Ranostay    2016-09-24  363  
67e17300dc1d760 Matt Ranostay    2016-09-24  364  	ret = iio_device_register(indio_dev);
67e17300dc1d760 Matt Ranostay    2016-09-24  365  	if (ret)
67e17300dc1d760 Matt Ranostay    2016-09-24  366  		goto error_unreg_cb_buffer;
67e17300dc1d760 Matt Ranostay    2016-09-24  367  
67e17300dc1d760 Matt Ranostay    2016-09-24  368  	return 0;
67e17300dc1d760 Matt Ranostay    2016-09-24  369  
67e17300dc1d760 Matt Ranostay    2016-09-24  370  error_unreg_cb_buffer:
67e17300dc1d760 Matt Ranostay    2016-09-24  371  	iio_channel_release_all_cb(data->cb_buffer);
67e17300dc1d760 Matt Ranostay    2016-09-24  372  
67e17300dc1d760 Matt Ranostay    2016-09-24  373  error_unreg_trigger:
67e17300dc1d760 Matt Ranostay    2016-09-24  374  	iio_trigger_unregister(data->trig);
67e17300dc1d760 Matt Ranostay    2016-09-24  375  
82764dcb3643c70 Salah Triki      2026-05-07  376  error_unreg_buffer:
82764dcb3643c70 Salah Triki      2026-05-07  377  	iio_triggered_buffer_cleanup(indio_dev);
82764dcb3643c70 Salah Triki      2026-05-07  378  
67e17300dc1d760 Matt Ranostay    2016-09-24  379  	return ret;
67e17300dc1d760 Matt Ranostay    2016-09-24  380  }

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki


             reply	other threads:[~2026-05-12 20:36 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-05-12 20:35 kernel test robot [this message]
2026-05-13  7:02 ` [jic23-iio:fixes-togreg 31/32] drivers/iio/potentiostat/lmp91000.c:353 lmp91000_probe() warn: missing unwind goto? Dan Carpenter
2026-05-13  9:48 ` Jonathan Cameron

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=202605130437.SgMZ43gQ-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=error27@gmail.com \
    --cc=oe-kbuild@lists.linux.dev \
    /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.