All of lore.kernel.org
 help / color / mirror / Atom feed
* drivers/rtc/rtc-mxc_v2.c:361 mxc_rtc_probe() warn: 'pdata->clk' not released on lines: 341.
@ 2021-10-09 13:12 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2021-10-09 13:12 UTC (permalink / raw)
  To: kbuild

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

CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Alexandre Belloni <alexandre.belloni@bootlin.com>
CC: Fabio Estevam <festevam@gmail.com>

Hi Alexandre,

First bad commit (maybe != root cause):

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   5d6ab0bb408ffdaac585982faa9ec8c7d5cc349f
commit: 0020868f2a7037e87d6b3b196526de2fb885830d rtc: mxc{,_v2}: enable COMPILE_TEST
date:   10 months ago
:::::: branch date: 17 hours ago
:::::: commit date: 10 months ago
config: nios2-randconfig-m031-20211009 (attached as .config)
compiler: nios2-linux-gcc (GCC) 11.2.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:
drivers/rtc/rtc-mxc_v2.c:361 mxc_rtc_probe() warn: 'pdata->clk' not released on lines: 341.

vim +361 drivers/rtc/rtc-mxc_v2.c

83c880f79e88cc Patrick Bruenn      2017-12-18  278  
83c880f79e88cc Patrick Bruenn      2017-12-18  279  static int mxc_rtc_probe(struct platform_device *pdev)
83c880f79e88cc Patrick Bruenn      2017-12-18  280  {
83c880f79e88cc Patrick Bruenn      2017-12-18  281  	struct mxc_rtc_data *pdata;
83c880f79e88cc Patrick Bruenn      2017-12-18  282  	void __iomem *ioaddr;
83c880f79e88cc Patrick Bruenn      2017-12-18  283  	int ret = 0;
83c880f79e88cc Patrick Bruenn      2017-12-18  284  
83c880f79e88cc Patrick Bruenn      2017-12-18  285  	pdata = devm_kzalloc(&pdev->dev, sizeof(*pdata), GFP_KERNEL);
83c880f79e88cc Patrick Bruenn      2017-12-18  286  	if (!pdata)
83c880f79e88cc Patrick Bruenn      2017-12-18  287  		return -ENOMEM;
83c880f79e88cc Patrick Bruenn      2017-12-18  288  
874532cdeefefa Anson Huang         2019-07-17  289  	pdata->ioaddr = devm_platform_ioremap_resource(pdev, 0);
83c880f79e88cc Patrick Bruenn      2017-12-18  290  	if (IS_ERR(pdata->ioaddr))
83c880f79e88cc Patrick Bruenn      2017-12-18  291  		return PTR_ERR(pdata->ioaddr);
83c880f79e88cc Patrick Bruenn      2017-12-18  292  
83c880f79e88cc Patrick Bruenn      2017-12-18  293  	ioaddr = pdata->ioaddr;
83c880f79e88cc Patrick Bruenn      2017-12-18  294  
83c880f79e88cc Patrick Bruenn      2017-12-18  295  	pdata->clk = devm_clk_get(&pdev->dev, NULL);
83c880f79e88cc Patrick Bruenn      2017-12-18  296  	if (IS_ERR(pdata->clk)) {
83c880f79e88cc Patrick Bruenn      2017-12-18  297  		dev_err(&pdev->dev, "unable to get rtc clock!\n");
83c880f79e88cc Patrick Bruenn      2017-12-18  298  		return PTR_ERR(pdata->clk);
83c880f79e88cc Patrick Bruenn      2017-12-18  299  	}
83c880f79e88cc Patrick Bruenn      2017-12-18  300  
83c880f79e88cc Patrick Bruenn      2017-12-18  301  	spin_lock_init(&pdata->lock);
83c880f79e88cc Patrick Bruenn      2017-12-18  302  	pdata->irq = platform_get_irq(pdev, 0);
83c880f79e88cc Patrick Bruenn      2017-12-18  303  	if (pdata->irq < 0)
83c880f79e88cc Patrick Bruenn      2017-12-18  304  		return pdata->irq;
83c880f79e88cc Patrick Bruenn      2017-12-18  305  
83c880f79e88cc Patrick Bruenn      2017-12-18  306  	device_init_wakeup(&pdev->dev, 1);
fbc5ee9a6955e6 Anson Huang         2019-04-11  307  	ret = dev_pm_set_wake_irq(&pdev->dev, pdata->irq);
fbc5ee9a6955e6 Anson Huang         2019-04-11  308  	if (ret)
fbc5ee9a6955e6 Anson Huang         2019-04-11  309  		dev_err(&pdev->dev, "failed to enable irq wake\n");
83c880f79e88cc Patrick Bruenn      2017-12-18  310  
83c880f79e88cc Patrick Bruenn      2017-12-18  311  	ret = clk_prepare_enable(pdata->clk);
83c880f79e88cc Patrick Bruenn      2017-12-18  312  	if (ret)
83c880f79e88cc Patrick Bruenn      2017-12-18  313  		return ret;
83c880f79e88cc Patrick Bruenn      2017-12-18  314  	/* initialize glitch detect */
83c880f79e88cc Patrick Bruenn      2017-12-18  315  	writel(SRTC_LPPDR_INIT, ioaddr + SRTC_LPPDR);
83c880f79e88cc Patrick Bruenn      2017-12-18  316  
83c880f79e88cc Patrick Bruenn      2017-12-18  317  	/* clear lp interrupt status */
83c880f79e88cc Patrick Bruenn      2017-12-18  318  	writel(0xFFFFFFFF, ioaddr + SRTC_LPSR);
83c880f79e88cc Patrick Bruenn      2017-12-18  319  
83c880f79e88cc Patrick Bruenn      2017-12-18  320  	/* move out of init state */
83c880f79e88cc Patrick Bruenn      2017-12-18  321  	writel((SRTC_LPCR_IE | SRTC_LPCR_NSA), ioaddr + SRTC_LPCR);
83c880f79e88cc Patrick Bruenn      2017-12-18  322  	ret = mxc_rtc_wait_for_flag(ioaddr + SRTC_LPSR, SRTC_LPSR_IES);
83c880f79e88cc Patrick Bruenn      2017-12-18  323  	if (ret) {
83c880f79e88cc Patrick Bruenn      2017-12-18  324  		dev_err(&pdev->dev, "Timeout waiting for SRTC_LPSR_IES\n");
83c880f79e88cc Patrick Bruenn      2017-12-18  325  		clk_disable_unprepare(pdata->clk);
83c880f79e88cc Patrick Bruenn      2017-12-18  326  		return ret;
83c880f79e88cc Patrick Bruenn      2017-12-18  327  	}
83c880f79e88cc Patrick Bruenn      2017-12-18  328  
83c880f79e88cc Patrick Bruenn      2017-12-18  329  	/* move out of non-valid state */
83c880f79e88cc Patrick Bruenn      2017-12-18  330  	writel((SRTC_LPCR_IE | SRTC_LPCR_NVE | SRTC_LPCR_NSA |
83c880f79e88cc Patrick Bruenn      2017-12-18  331  		SRTC_LPCR_EN_LP), ioaddr + SRTC_LPCR);
83c880f79e88cc Patrick Bruenn      2017-12-18  332  	ret = mxc_rtc_wait_for_flag(ioaddr + SRTC_LPSR, SRTC_LPSR_NVES);
83c880f79e88cc Patrick Bruenn      2017-12-18  333  	if (ret) {
83c880f79e88cc Patrick Bruenn      2017-12-18  334  		dev_err(&pdev->dev, "Timeout waiting for SRTC_LPSR_NVES\n");
83c880f79e88cc Patrick Bruenn      2017-12-18  335  		clk_disable_unprepare(pdata->clk);
83c880f79e88cc Patrick Bruenn      2017-12-18  336  		return ret;
83c880f79e88cc Patrick Bruenn      2017-12-18  337  	}
83c880f79e88cc Patrick Bruenn      2017-12-18  338  
5490a1e018a4b4 Alexandre Belloni   2018-05-19  339  	pdata->rtc = devm_rtc_allocate_device(&pdev->dev);
5490a1e018a4b4 Alexandre Belloni   2018-05-19  340  	if (IS_ERR(pdata->rtc))
5490a1e018a4b4 Alexandre Belloni   2018-05-19  341  		return PTR_ERR(pdata->rtc);
5490a1e018a4b4 Alexandre Belloni   2018-05-19  342  
5490a1e018a4b4 Alexandre Belloni   2018-05-19  343  	pdata->rtc->ops = &mxc_rtc_ops;
95fbfa14b431d4 Alexandre Belloni   2018-05-19  344  	pdata->rtc->range_max = U32_MAX;
5490a1e018a4b4 Alexandre Belloni   2018-05-19  345  
83c880f79e88cc Patrick Bruenn      2017-12-18  346  	clk_disable(pdata->clk);
83c880f79e88cc Patrick Bruenn      2017-12-18  347  	platform_set_drvdata(pdev, pdata);
83c880f79e88cc Patrick Bruenn      2017-12-18  348  	ret =
83c880f79e88cc Patrick Bruenn      2017-12-18  349  	    devm_request_irq(&pdev->dev, pdata->irq, mxc_rtc_interrupt, 0,
83c880f79e88cc Patrick Bruenn      2017-12-18  350  			     pdev->name, &pdev->dev);
83c880f79e88cc Patrick Bruenn      2017-12-18  351  	if (ret < 0) {
83c880f79e88cc Patrick Bruenn      2017-12-18  352  		dev_err(&pdev->dev, "interrupt not available.\n");
83c880f79e88cc Patrick Bruenn      2017-12-18  353  		clk_unprepare(pdata->clk);
83c880f79e88cc Patrick Bruenn      2017-12-18  354  		return ret;
83c880f79e88cc Patrick Bruenn      2017-12-18  355  	}
83c880f79e88cc Patrick Bruenn      2017-12-18  356  
fdcfd854333be5 Bartosz Golaszewski 2020-11-09  357  	ret = devm_rtc_register_device(pdata->rtc);
5490a1e018a4b4 Alexandre Belloni   2018-05-19  358  	if (ret < 0)
83c880f79e88cc Patrick Bruenn      2017-12-18  359  		clk_unprepare(pdata->clk);
83c880f79e88cc Patrick Bruenn      2017-12-18  360  
5490a1e018a4b4 Alexandre Belloni   2018-05-19 @361  	return ret;
83c880f79e88cc Patrick Bruenn      2017-12-18  362  }
83c880f79e88cc Patrick Bruenn      2017-12-18  363  

:::::: The code at line 361 was first introduced by commit
:::::: 5490a1e018a4b447c1fdb49ec274a620e60a4d42 rtc: mxc_v2: fix possible race condition

:::::: TO: Alexandre Belloni <alexandre.belloni@bootlin.com>
:::::: CC: Alexandre Belloni <alexandre.belloni@bootlin.com>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

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

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-10-09 13:12 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-09 13:12 drivers/rtc/rtc-mxc_v2.c:361 mxc_rtc_probe() warn: 'pdata->clk' not released on lines: 341 kernel test robot

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.