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: [linux-next:master 5449/5655] drivers/spi/spi-geni-qcom.c:637 spi_geni_init() warn: missing error code? 'ret'
Date: Sun, 12 Jul 2026 23:35:01 +0800	[thread overview]
Message-ID: <202607122241.qzP3QAXF-lkp@intel.com> (raw)

BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
TO: Praveen Talari <praveen.talari@oss.qualcomm.com>
CC: Mark Brown <broonie@kernel.org>
CC: "Rafael J. Wysocki (Intel)" <rafael@kernel.org>
CC: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head:   bee763d5f341b99cf472afeb508d4988f62a6ca1
commit: d8e9ea989acb54508477e4a8c9d9eaf8217e0081 [5449/5655] spi: qcom-geni: Fix missing error check on pm_runtime_get_sync()
:::::: branch date: 2 days ago
:::::: commit date: 2 days ago
config: microblaze-randconfig-r071-20260711 (https://download.01.org/0day-ci/archive/20260712/202607122241.qzP3QAXF-lkp@intel.com/config)
compiler: microblaze-linux-gcc (GCC) 8.5.0
smatch: v0.5.0-9185-gbcc58b9c

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/202607122241.qzP3QAXF-lkp@intel.com/

New smatch warnings:
drivers/spi/spi-geni-qcom.c:637 spi_geni_init() warn: missing error code? 'ret'

Old smatch warnings:
drivers/spi/spi-geni-qcom.c:648 spi_geni_init() warn: missing error code? 'ret'

vim +/ret +637 drivers/spi/spi-geni-qcom.c

b59c122484ecb1 Vinod Koul              2021-10-20  616  
561de45f72bd5f Girish Mahadevan        2018-10-03  617  static int spi_geni_init(struct spi_geni_master *mas)
561de45f72bd5f Girish Mahadevan        2018-10-03  618  {
14cea92338a077 Uwe Kleine-König        2024-02-07  619  	struct spi_controller *spi = dev_get_drvdata(mas->dev);
561de45f72bd5f Girish Mahadevan        2018-10-03  620  	struct geni_se *se = &mas->se;
561de45f72bd5f Girish Mahadevan        2018-10-03  621  	unsigned int proto, major, minor, ver;
b59c122484ecb1 Vinod Koul              2021-10-20  622  	u32 spi_tx_cfg, fifo_disable;
b59c122484ecb1 Vinod Koul              2021-10-20  623  	int ret = -ENXIO;
561de45f72bd5f Girish Mahadevan        2018-10-03  624  
d8e9ea989acb54 Praveen Talari          2026-07-10  625  	PM_RUNTIME_ACQUIRE_IF_ENABLED(mas->dev, pm);
d8e9ea989acb54 Praveen Talari          2026-07-10  626  	ret = PM_RUNTIME_ACQUIRE_ERR(&pm);
d8e9ea989acb54 Praveen Talari          2026-07-10  627  	if (ret < 0) {
d8e9ea989acb54 Praveen Talari          2026-07-10  628  		dev_err(mas->dev, "Failed to resume and get %d\n", ret);
d8e9ea989acb54 Praveen Talari          2026-07-10  629  		return ret;
d8e9ea989acb54 Praveen Talari          2026-07-10  630  	}
561de45f72bd5f Girish Mahadevan        2018-10-03  631  
561de45f72bd5f Girish Mahadevan        2018-10-03  632  	proto = geni_se_read_proto(se);
d7f74cc31a89a4 Praveen Talari          2023-07-14  633  
8726bdcef62eac Yang Yingliang          2023-11-28  634  	if (spi->target) {
d7f74cc31a89a4 Praveen Talari          2023-07-14  635  		if (proto != GENI_SE_SPI_SLAVE) {
d7f74cc31a89a4 Praveen Talari          2023-07-14  636  			dev_err(mas->dev, "Invalid proto %d\n", proto);
d8e9ea989acb54 Praveen Talari          2026-07-10 @637  			return ret;
d7f74cc31a89a4 Praveen Talari          2023-07-14  638  		}
d7f74cc31a89a4 Praveen Talari          2023-07-14  639  		spi_slv_setup(mas);
99cf351ee1c46b Viken Dadhaniya         2025-09-11  640  	} else if (proto == GENI_SE_INVALID_PROTO) {
99cf351ee1c46b Viken Dadhaniya         2025-09-11  641  		ret = geni_load_se_firmware(se, GENI_SE_SPI);
99cf351ee1c46b Viken Dadhaniya         2025-09-11  642  		if (ret) {
99cf351ee1c46b Viken Dadhaniya         2025-09-11  643  			dev_err(mas->dev, "spi master firmware load failed ret: %d\n", ret);
d8e9ea989acb54 Praveen Talari          2026-07-10  644  			return ret;
99cf351ee1c46b Viken Dadhaniya         2025-09-11  645  		}
d7f74cc31a89a4 Praveen Talari          2023-07-14  646  	} else if (proto != GENI_SE_SPI) {
561de45f72bd5f Girish Mahadevan        2018-10-03  647  		dev_err(mas->dev, "Invalid proto %d\n", proto);
d8e9ea989acb54 Praveen Talari          2026-07-10  648  		return ret;
561de45f72bd5f Girish Mahadevan        2018-10-03  649  	}
561de45f72bd5f Girish Mahadevan        2018-10-03  650  	mas->tx_fifo_depth = geni_se_get_tx_fifo_depth(se);
561de45f72bd5f Girish Mahadevan        2018-10-03  651  
561de45f72bd5f Girish Mahadevan        2018-10-03  652  	/* Width of Tx and Rx FIFO is same */
561de45f72bd5f Girish Mahadevan        2018-10-03  653  	mas->fifo_width_bits = geni_se_get_tx_fifo_width(se);
561de45f72bd5f Girish Mahadevan        2018-10-03  654  
561de45f72bd5f Girish Mahadevan        2018-10-03  655  	/*
561de45f72bd5f Girish Mahadevan        2018-10-03  656  	 * Hardware programming guide suggests to configure
561de45f72bd5f Girish Mahadevan        2018-10-03  657  	 * RX FIFO RFR level to fifo_depth-2.
561de45f72bd5f Girish Mahadevan        2018-10-03  658  	 */
fc129a43aa2705 Douglas Anderson        2020-09-12  659  	geni_se_init(se, mas->tx_fifo_depth - 3, mas->tx_fifo_depth - 2);
561de45f72bd5f Girish Mahadevan        2018-10-03  660  	/* Transmit an entire FIFO worth of data per IRQ */
561de45f72bd5f Girish Mahadevan        2018-10-03  661  	mas->tx_wm = 1;
561de45f72bd5f Girish Mahadevan        2018-10-03  662  	ver = geni_se_get_qup_hw_version(se);
561de45f72bd5f Girish Mahadevan        2018-10-03  663  	major = GENI_SE_VERSION_MAJOR(ver);
561de45f72bd5f Girish Mahadevan        2018-10-03  664  	minor = GENI_SE_VERSION_MINOR(ver);
561de45f72bd5f Girish Mahadevan        2018-10-03  665  
561de45f72bd5f Girish Mahadevan        2018-10-03  666  	if (major == 1 && minor == 0)
561de45f72bd5f Girish Mahadevan        2018-10-03  667  		mas->oversampling = 2;
561de45f72bd5f Girish Mahadevan        2018-10-03  668  	else
561de45f72bd5f Girish Mahadevan        2018-10-03  669  		mas->oversampling = 1;
561de45f72bd5f Girish Mahadevan        2018-10-03  670  
b59c122484ecb1 Vinod Koul              2021-10-20  671  	fifo_disable = readl(se->base + GENI_IF_DISABLE_RO) & FIFO_IF_DISABLE;
b59c122484ecb1 Vinod Koul              2021-10-20  672  	switch (fifo_disable) {
b59c122484ecb1 Vinod Koul              2021-10-20  673  	case 1:
b59c122484ecb1 Vinod Koul              2021-10-20  674  		ret = spi_geni_grab_gpi_chan(mas);
b59c122484ecb1 Vinod Koul              2021-10-20  675  		if (!ret) { /* success case */
b59c122484ecb1 Vinod Koul              2021-10-20  676  			mas->cur_xfer_mode = GENI_GPI_DMA;
b59c122484ecb1 Vinod Koul              2021-10-20  677  			geni_se_select_mode(se, GENI_GPI_DMA);
b59c122484ecb1 Vinod Koul              2021-10-20  678  			dev_dbg(mas->dev, "Using GPI DMA mode for SPI\n");
b59c122484ecb1 Vinod Koul              2021-10-20  679  			break;
9d7054fb3ac2e8 Neil Armstrong          2023-06-15  680  		} else if (ret == -EPROBE_DEFER) {
d8e9ea989acb54 Praveen Talari          2026-07-10  681  			return ret;
b59c122484ecb1 Vinod Koul              2021-10-20  682  		}
b59c122484ecb1 Vinod Koul              2021-10-20  683  		/*
e5f0dfa78ac773 Vijaya Krishna Nivarthi 2022-12-08  684  		 * in case of failure to get gpi dma channel, we can still do the
b59c122484ecb1 Vinod Koul              2021-10-20  685  		 * FIFO mode, so fallthrough
b59c122484ecb1 Vinod Koul              2021-10-20  686  		 */
b59c122484ecb1 Vinod Koul              2021-10-20  687  		dev_warn(mas->dev, "FIFO mode disabled, but couldn't get DMA, fall back to FIFO mode\n");
b59c122484ecb1 Vinod Koul              2021-10-20  688  		fallthrough;
b59c122484ecb1 Vinod Koul              2021-10-20  689  
b59c122484ecb1 Vinod Koul              2021-10-20  690  	case 0:
b59c122484ecb1 Vinod Koul              2021-10-20  691  		mas->cur_xfer_mode = GENI_SE_FIFO;
da48dc8c70c20e Douglas Anderson        2020-07-01  692  		geni_se_select_mode(se, GENI_SE_FIFO);
739062a9f1e9a7 Jonathan Marek          2025-11-20  693  		/* setup_fifo_params assumes that these registers start with a zero value */
739062a9f1e9a7 Jonathan Marek          2025-11-20  694  		writel(0, se->base + SE_SPI_LOOPBACK);
739062a9f1e9a7 Jonathan Marek          2025-11-20  695  		writel(0, se->base + SE_SPI_DEMUX_SEL);
739062a9f1e9a7 Jonathan Marek          2025-11-20  696  		writel(0, se->base + SE_SPI_CPHA);
739062a9f1e9a7 Jonathan Marek          2025-11-20  697  		writel(0, se->base + SE_SPI_CPOL);
739062a9f1e9a7 Jonathan Marek          2025-11-20  698  		writel(0, se->base + SE_SPI_DEMUX_OUTPUT_INV);
b59c122484ecb1 Vinod Koul              2021-10-20  699  		ret = 0;
b59c122484ecb1 Vinod Koul              2021-10-20  700  		break;
b59c122484ecb1 Vinod Koul              2021-10-20  701  	}
da48dc8c70c20e Douglas Anderson        2020-07-01  702  
b99181cdf9fa02 Jonathan Marek          2025-11-20  703  	/* We never control CS manually */
8726bdcef62eac Yang Yingliang          2023-11-28  704  	if (!spi->target) {
14ac4e049dc118 Douglas Anderson        2020-09-12  705  		spi_tx_cfg = readl(se->base + SE_SPI_TRANS_CFG);
14ac4e049dc118 Douglas Anderson        2020-09-12  706  		spi_tx_cfg &= ~CS_TOGGLE;
14ac4e049dc118 Douglas Anderson        2020-09-12  707  		writel(spi_tx_cfg, se->base + SE_SPI_TRANS_CFG);
d7f74cc31a89a4 Praveen Talari          2023-07-14  708  	}
14ac4e049dc118 Douglas Anderson        2020-09-12  709  
b59c122484ecb1 Vinod Koul              2021-10-20  710  	return ret;
561de45f72bd5f Girish Mahadevan        2018-10-03  711  }
561de45f72bd5f Girish Mahadevan        2018-10-03  712  

--
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,
	Praveen Talari <praveen.talari@oss.qualcomm.com>
Cc: lkp@intel.com, oe-kbuild-all@lists.linux.dev,
	Mark Brown <broonie@kernel.org>,
	"Rafael J. Wysocki (Intel)" <rafael@kernel.org>,
	Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Subject: [linux-next:master 5449/5655] drivers/spi/spi-geni-qcom.c:637 spi_geni_init() warn: missing error code? 'ret'
Date: Mon, 13 Jul 2026 11:02:06 +0300	[thread overview]
Message-ID: <202607122241.qzP3QAXF-lkp@intel.com> (raw)
Message-ID: <20260713080206.IkxkIMcNIQ9_YNZWUF4Cc_aH8RNe70_J0f_aTVtaTxc@z> (raw)

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head:   bee763d5f341b99cf472afeb508d4988f62a6ca1
commit: d8e9ea989acb54508477e4a8c9d9eaf8217e0081 [5449/5655] spi: qcom-geni: Fix missing error check on pm_runtime_get_sync()
config: microblaze-randconfig-r071-20260711 (https://download.01.org/0day-ci/archive/20260712/202607122241.qzP3QAXF-lkp@intel.com/config)
compiler: microblaze-linux-gcc (GCC) 8.5.0
smatch: v0.5.0-9185-gbcc58b9c

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/202607122241.qzP3QAXF-lkp@intel.com/

New smatch warnings:
drivers/spi/spi-geni-qcom.c:637 spi_geni_init() warn: missing error code? 'ret'

Old smatch warnings:
drivers/spi/spi-geni-qcom.c:648 spi_geni_init() warn: missing error code? 'ret'

vim +/ret +637 drivers/spi/spi-geni-qcom.c

561de45f72bd5f Girish Mahadevan        2018-10-03  617  static int spi_geni_init(struct spi_geni_master *mas)
561de45f72bd5f Girish Mahadevan        2018-10-03  618  {
14cea92338a077 Uwe Kleine-König        2024-02-07  619  	struct spi_controller *spi = dev_get_drvdata(mas->dev);
561de45f72bd5f Girish Mahadevan        2018-10-03  620  	struct geni_se *se = &mas->se;
561de45f72bd5f Girish Mahadevan        2018-10-03  621  	unsigned int proto, major, minor, ver;
b59c122484ecb1 Vinod Koul              2021-10-20  622  	u32 spi_tx_cfg, fifo_disable;
b59c122484ecb1 Vinod Koul              2021-10-20  623  	int ret = -ENXIO;
561de45f72bd5f Girish Mahadevan        2018-10-03  624  
d8e9ea989acb54 Praveen Talari          2026-07-10  625  	PM_RUNTIME_ACQUIRE_IF_ENABLED(mas->dev, pm);
d8e9ea989acb54 Praveen Talari          2026-07-10  626  	ret = PM_RUNTIME_ACQUIRE_ERR(&pm);
d8e9ea989acb54 Praveen Talari          2026-07-10  627  	if (ret < 0) {
d8e9ea989acb54 Praveen Talari          2026-07-10  628  		dev_err(mas->dev, "Failed to resume and get %d\n", ret);
d8e9ea989acb54 Praveen Talari          2026-07-10  629  		return ret;
d8e9ea989acb54 Praveen Talari          2026-07-10  630  	}
561de45f72bd5f Girish Mahadevan        2018-10-03  631  
561de45f72bd5f Girish Mahadevan        2018-10-03  632  	proto = geni_se_read_proto(se);
d7f74cc31a89a4 Praveen Talari          2023-07-14  633  
8726bdcef62eac Yang Yingliang          2023-11-28  634  	if (spi->target) {
d7f74cc31a89a4 Praveen Talari          2023-07-14  635  		if (proto != GENI_SE_SPI_SLAVE) {
d7f74cc31a89a4 Praveen Talari          2023-07-14  636  			dev_err(mas->dev, "Invalid proto %d\n", proto);
d8e9ea989acb54 Praveen Talari          2026-07-10 @637  			return ret;

s/ret/-EINVAL/

d7f74cc31a89a4 Praveen Talari          2023-07-14  638  		}
d7f74cc31a89a4 Praveen Talari          2023-07-14  639  		spi_slv_setup(mas);
99cf351ee1c46b Viken Dadhaniya         2025-09-11  640  	} else if (proto == GENI_SE_INVALID_PROTO) {
99cf351ee1c46b Viken Dadhaniya         2025-09-11  641  		ret = geni_load_se_firmware(se, GENI_SE_SPI);
99cf351ee1c46b Viken Dadhaniya         2025-09-11  642  		if (ret) {
99cf351ee1c46b Viken Dadhaniya         2025-09-11  643  			dev_err(mas->dev, "spi master firmware load failed ret: %d\n", ret);
d8e9ea989acb54 Praveen Talari          2026-07-10  644  			return ret;
99cf351ee1c46b Viken Dadhaniya         2025-09-11  645  		}
d7f74cc31a89a4 Praveen Talari          2023-07-14  646  	} else if (proto != GENI_SE_SPI) {
561de45f72bd5f Girish Mahadevan        2018-10-03  647  		dev_err(mas->dev, "Invalid proto %d\n", proto);
d8e9ea989acb54 Praveen Talari          2026-07-10  648  		return ret;

Same.

561de45f72bd5f Girish Mahadevan        2018-10-03  649  	}
561de45f72bd5f Girish Mahadevan        2018-10-03  650  	mas->tx_fifo_depth = geni_se_get_tx_fifo_depth(se);
561de45f72bd5f Girish Mahadevan        2018-10-03  651  

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


             reply	other threads:[~2026-07-12 15:36 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-12 15:35 kernel test robot [this message]
2026-07-13  8:02 ` [linux-next:master 5449/5655] drivers/spi/spi-geni-qcom.c:637 spi_geni_init() warn: missing error code? 'ret' Dan Carpenter

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=202607122241.qzP3QAXF-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.