The Linux Kernel Mailing List
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Haotian Zhang <vulab@iscas.ac.cn>,
	ansuelsmth@gmail.com, olivia@selenic.com,
	herbert@gondor.apana.org.au
Cc: oe-kbuild-all@lists.linux.dev, linux-crypto@vger.kernel.org,
	linux-kernel@vger.kernel.org, Haotian Zhang <vulab@iscas.ac.cn>
Subject: Re: [PATCH] hwrng: airoha: Fix wait_for_completion_timeout return value check
Date: Fri, 12 Dec 2025 13:22:27 +0800	[thread overview]
Message-ID: <202512121309.biSQJ5fC-lkp@intel.com> (raw)
In-Reply-To: <20251208080836.1010-1-vulab@iscas.ac.cn>

Hi Haotian,

kernel test robot noticed the following build warnings:

[auto build test WARNING on char-misc/char-misc-testing]
[also build test WARNING on char-misc/char-misc-next char-misc/char-misc-linus linus/master v6.18 next-20251212]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Haotian-Zhang/hwrng-airoha-Fix-wait_for_completion_timeout-return-value-check/20251208-161314
base:   char-misc/char-misc-testing
patch link:    https://lore.kernel.org/r/20251208080836.1010-1-vulab%40iscas.ac.cn
patch subject: [PATCH] hwrng: airoha: Fix wait_for_completion_timeout return value check
config: arm-randconfig-r072-20251210 (https://download.01.org/0day-ci/archive/20251212/202512121309.biSQJ5fC-lkp@intel.com/config)
compiler: arm-linux-gnueabi-gcc (GCC) 12.5.0

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>
| Closes: https://lore.kernel.org/oe-kbuild-all/202512121309.biSQJ5fC-lkp@intel.com/

New smatch warnings:
drivers/char/hw_random/airoha-trng.c:108 airoha_trng_init() warn: unsigned 'ret' is never less than zero.

Old smatch warnings:
drivers/char/hw_random/airoha-trng.c:117 airoha_trng_init() warn: unsigned 'ret' is never less than zero.

vim +/ret +108 drivers/char/hw_random/airoha-trng.c

e53ca8efcc5ec1 Christian Marangi 2024-10-17   75  
e53ca8efcc5ec1 Christian Marangi 2024-10-17   76  static int airoha_trng_init(struct hwrng *rng)
e53ca8efcc5ec1 Christian Marangi 2024-10-17   77  {
e53ca8efcc5ec1 Christian Marangi 2024-10-17   78  	struct airoha_trng *trng = container_of(rng, struct airoha_trng, rng);
cd62dba83f93a0 Haotian Zhang     2025-12-08   79  	unsigned long ret;
e53ca8efcc5ec1 Christian Marangi 2024-10-17   80  	u32 val;
e53ca8efcc5ec1 Christian Marangi 2024-10-17   81  
e53ca8efcc5ec1 Christian Marangi 2024-10-17   82  	val = readl(trng->base + TRNG_NS_SEK_AND_DAT_EN);
e53ca8efcc5ec1 Christian Marangi 2024-10-17   83  	val |= RNG_EN;
e53ca8efcc5ec1 Christian Marangi 2024-10-17   84  	writel(val, trng->base + TRNG_NS_SEK_AND_DAT_EN);
e53ca8efcc5ec1 Christian Marangi 2024-10-17   85  
e53ca8efcc5ec1 Christian Marangi 2024-10-17   86  	/* Set out of SW Reset */
e53ca8efcc5ec1 Christian Marangi 2024-10-17   87  	airoha_trng_irq_unmask(trng);
e53ca8efcc5ec1 Christian Marangi 2024-10-17   88  	writel(0, trng->base + TRNG_HEALTH_TEST_SW_RST);
e53ca8efcc5ec1 Christian Marangi 2024-10-17   89  
e53ca8efcc5ec1 Christian Marangi 2024-10-17   90  	ret = wait_for_completion_timeout(&trng->rng_op_done, BUSY_LOOP_TIMEOUT);
cd62dba83f93a0 Haotian Zhang     2025-12-08   91  	if (ret == 0) {
e53ca8efcc5ec1 Christian Marangi 2024-10-17   92  		dev_err(trng->dev, "Timeout waiting for Health Check\n");
e53ca8efcc5ec1 Christian Marangi 2024-10-17   93  		airoha_trng_irq_mask(trng);
e53ca8efcc5ec1 Christian Marangi 2024-10-17   94  		return -ENODEV;
e53ca8efcc5ec1 Christian Marangi 2024-10-17   95  	}
e53ca8efcc5ec1 Christian Marangi 2024-10-17   96  
e53ca8efcc5ec1 Christian Marangi 2024-10-17   97  	/* Check if Health Test Failed */
e53ca8efcc5ec1 Christian Marangi 2024-10-17   98  	val = readl(trng->base + TRNG_HEALTH_TEST_STATUS);
e53ca8efcc5ec1 Christian Marangi 2024-10-17   99  	if (val & (RST_STARTUP_AP_TEST_FAIL | RST_STARTUP_RC_TEST_FAIL)) {
e53ca8efcc5ec1 Christian Marangi 2024-10-17  100  		dev_err(trng->dev, "Health Check fail: %s test fail\n",
e53ca8efcc5ec1 Christian Marangi 2024-10-17  101  			val & RST_STARTUP_AP_TEST_FAIL ? "AP" : "RC");
e53ca8efcc5ec1 Christian Marangi 2024-10-17  102  		return -ENODEV;
e53ca8efcc5ec1 Christian Marangi 2024-10-17  103  	}
e53ca8efcc5ec1 Christian Marangi 2024-10-17  104  
e53ca8efcc5ec1 Christian Marangi 2024-10-17  105  	/* Check if IP is ready */
e53ca8efcc5ec1 Christian Marangi 2024-10-17  106  	ret = readl_poll_timeout(trng->base + TRNG_IP_RDY, val,
e53ca8efcc5ec1 Christian Marangi 2024-10-17  107  				 val & SAMPLE_RDY, 10, 1000);
e53ca8efcc5ec1 Christian Marangi 2024-10-17 @108  	if (ret < 0) {
e53ca8efcc5ec1 Christian Marangi 2024-10-17  109  		dev_err(trng->dev, "Timeout waiting for IP ready");
e53ca8efcc5ec1 Christian Marangi 2024-10-17  110  		return -ENODEV;
e53ca8efcc5ec1 Christian Marangi 2024-10-17  111  	}
e53ca8efcc5ec1 Christian Marangi 2024-10-17  112  
e53ca8efcc5ec1 Christian Marangi 2024-10-17  113  	/* CNT_TRANS must be 0x80 for IP to be considered ready */
e53ca8efcc5ec1 Christian Marangi 2024-10-17  114  	ret = readl_poll_timeout(trng->base + TRNG_IP_RDY, val,
e53ca8efcc5ec1 Christian Marangi 2024-10-17  115  				 FIELD_GET(CNT_TRANS, val) == TRNG_CNT_TRANS_VALID,
e53ca8efcc5ec1 Christian Marangi 2024-10-17  116  				 10, 1000);
e53ca8efcc5ec1 Christian Marangi 2024-10-17  117  	if (ret < 0) {
e53ca8efcc5ec1 Christian Marangi 2024-10-17  118  		dev_err(trng->dev, "Timeout waiting for IP ready");
e53ca8efcc5ec1 Christian Marangi 2024-10-17  119  		return -ENODEV;
e53ca8efcc5ec1 Christian Marangi 2024-10-17  120  	}
e53ca8efcc5ec1 Christian Marangi 2024-10-17  121  
e53ca8efcc5ec1 Christian Marangi 2024-10-17  122  	return 0;
e53ca8efcc5ec1 Christian Marangi 2024-10-17  123  }
e53ca8efcc5ec1 Christian Marangi 2024-10-17  124  

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

      parent reply	other threads:[~2025-12-12  5:23 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-12-08  8:08 [PATCH] hwrng: airoha: Fix wait_for_completion_timeout return value check Haotian Zhang
2025-12-08  8:40 ` Martin Kaiser
2025-12-12  5:22 ` kernel test robot [this message]

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=202512121309.biSQJ5fC-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=ansuelsmth@gmail.com \
    --cc=herbert@gondor.apana.org.au \
    --cc=linux-crypto@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=olivia@selenic.com \
    --cc=vulab@iscas.ac.cn \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox