From 6af9914f7bbfdf3e0a53626a5be49d6add8e9e15 Mon Sep 17 00:00:00 2001 From: Thorsten Blum Date: Tue, 23 Sep 2025 03:03:04 +0200 Subject: [PATCH] crypto: hifn_795x - replace simple_strtoul with kstrtouint Replace simple_strtoul() with the recommended kstrtouint() for parsing the 'hifn_pll_ref=' module parameter. Unlike simple_strtoul(), which returns an unsigned long, kstrtouint() converts the string directly to an unsigned integer and avoids implicit casting. Check the return value of kstrtouint() and fall back to 66 MHz if parsing fails. This adds error handling while preserving existing behavior for valid values, and removes use of the deprecated simple_strtoul() helper. Add a space in the log message to correctly format "66 MHz" while we're at it. Signed-off-by: Thorsten Blum Signed-off-by: Herbert Xu --- drivers/crypto/hifn_795x.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/drivers/crypto/hifn_795x.c b/drivers/crypto/hifn_795x.c index 9259915267454..edf36f6add527 100644 --- a/drivers/crypto/hifn_795x.c +++ b/drivers/crypto/hifn_795x.c @@ -913,11 +913,10 @@ static void hifn_init_pll(struct hifn_device *dev) else pllcfg |= HIFN_PLL_REF_CLK_HBI; - if (hifn_pll_ref[3] != '\0') - freq = simple_strtoul(hifn_pll_ref + 3, NULL, 10); - else { + if (hifn_pll_ref[3] == '\0' || + kstrtouint(hifn_pll_ref + 3, 10, &freq)) { freq = 66; - dev_info(&dev->pdev->dev, "assuming %uMHz clock speed, override with hifn_pll_ref=%.3s\n", + dev_info(&dev->pdev->dev, "assuming %u MHz clock speed, override with hifn_pll_ref=%.3s\n", freq, hifn_pll_ref); } -- 2.47.3