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: drivers/gpib/fmh_gpib/fmh_gpib.c:1476 fmh_gpib_attach_impl() warn: 'e_priv->fifo_base' from ioremap() not released on lines: 1451,1457,1465.
Date: Fri, 10 Jul 2026 21:33:33 +0800	[thread overview]
Message-ID: <202607102136.8Zg3WLfZ-lkp@intel.com> (raw)

BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
CC: linux-kernel@vger.kernel.org
TO: Dave Penkler <dpenkler@gmail.com>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   a635d6748234582ea287c5ffeae28b9b23f91c7e
commit: e6ab504633e4c06e35377ecf3c8cbc304de79858 staging: gpib: Destage gpib
date:   8 months ago
:::::: branch date: 14 hours ago
:::::: commit date: 8 months ago
config: alpha-randconfig-r071-20260710 (https://download.01.org/0day-ci/archive/20260710/202607102136.8Zg3WLfZ-lkp@intel.com/config)
compiler: alpha-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
| Fixes: e6ab504633e4 ("staging: gpib: Destage gpib")
| Reported-by: kernel test robot <lkp@intel.com>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Closes: https://lore.kernel.org/r/202607102136.8Zg3WLfZ-lkp@intel.com/

New smatch warnings:
drivers/gpib/fmh_gpib/fmh_gpib.c:1476 fmh_gpib_attach_impl() warn: 'e_priv->fifo_base' from ioremap() not released on lines: 1451,1457,1465.
drivers/gpib/fmh_gpib/fmh_gpib.c:1476 fmh_gpib_attach_impl() warn: 'irq' from request_irq() not released on lines: 1465.
drivers/gpib/fmh_gpib/fmh_gpib.c:1476 fmh_gpib_attach_impl() warn: 'nec_priv->mmiobase' from ioremap() not released on lines: 1430,1436,1451,1457,1465.
drivers/gpib/fmh_gpib/fmh_gpib.c:1476 fmh_gpib_attach_impl() warn: 'res->start' from __request_region() not released on lines: 1430,1436,1451,1457,1465.

Old smatch warnings:
internal error: arch/alpha/include/asm/io_trivial.h:70 SQL error #2: near "and": syntax error
internal error: arch/alpha/include/asm/io_trivial.h:70 SQL: 'select * from return_states where  and type = 1044 and parameter = -1 and key = '$' limit 1;'
drivers/gpib/fmh_gpib/fmh_gpib.c:1476 fmh_gpib_attach_impl() warn: 'res->start' from __request_region() not released on lines: 1451,1457,1465.

vim +1476 drivers/gpib/fmh_gpib/fmh_gpib.c

8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1376  
c3c7a472d6f72b drivers/staging/gpib/fmh_gpib/fmh_gpib.c Michael Rubin 2025-04-08  1377  static int fmh_gpib_attach_impl(struct gpib_board *board, const struct gpib_board_config *config,
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1378  				unsigned int handshake_mode, int acquire_dma)
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1379  {
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1380  	struct fmh_priv *e_priv;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1381  	struct nec7210_priv *nec_priv;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1382  	int retval;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1383  	int irq;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1384  	struct resource *res;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1385  	struct platform_device *pdev;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1386  
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1387  	board->dev = driver_find_device(&fmh_gpib_platform_driver.driver,
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1388  					NULL, (const void *)config, &fmh_gpib_device_match);
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1389  	if (!board->dev)	{
acdf4581545b83 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2025-02-14  1390  		dev_err(board->gpib_dev, "No matching fmh_gpib_core device was found, attach failed.");
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1391  		return -ENODEV;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1392  	}
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1393  	// currently only used to mark the device as already attached
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1394  	dev_set_drvdata(board->dev, board);
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1395  	pdev = to_platform_device(board->dev);
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1396  
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1397  	retval = fmh_gpib_generic_attach(board);
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1398  	if (retval)
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1399  		return retval;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1400  
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1401  	e_priv = board->private_data;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1402  	nec_priv = &e_priv->nec7210_priv;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1403  
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1404  	res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "gpib_control_status");
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1405  	if (!res) {
acdf4581545b83 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2025-02-14  1406  		dev_err(board->dev, "Unable to locate mmio resource\n");
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1407  		return -ENODEV;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1408  	}
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1409  
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1410  	if (request_mem_region(res->start,
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1411  			       resource_size(res),
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1412  			       pdev->name) == NULL) {
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1413  		dev_err(board->dev, "cannot claim registers\n");
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1414  		return -ENXIO;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1415  	}
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1416  	e_priv->gpib_iomem_res = res;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1417  
baf8855c916007 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Arnd Bergmann 2024-12-13  1418  	nec_priv->mmiobase = ioremap(e_priv->gpib_iomem_res->start,
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1419  				     resource_size(e_priv->gpib_iomem_res));
baf8855c916007 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Arnd Bergmann 2024-12-13  1420  	if (!nec_priv->mmiobase) {
acdf4581545b83 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2025-02-14  1421  		dev_err(board->dev, "Could not map I/O memory\n");
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1422  		return -ENOMEM;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1423  	}
acdf4581545b83 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2025-02-14  1424  	dev_dbg(board->dev, "iobase %pr remapped to %p\n",
baf8855c916007 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Arnd Bergmann 2024-12-13  1425  		e_priv->gpib_iomem_res, nec_priv->mmiobase);
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1426  
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1427  	res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "dma_fifos");
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1428  	if (!res) {
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1429  		dev_err(board->dev, "Unable to locate mmio resource for gpib dma port\n");
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1430  		return -ENODEV;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1431  	}
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1432  	if (request_mem_region(res->start,
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1433  			       resource_size(res),
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1434  			       pdev->name) == NULL) {
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1435  		dev_err(board->dev, "cannot claim registers\n");
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1436  		return -ENXIO;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1437  	}
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1438  	e_priv->dma_port_res = res;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1439  	e_priv->fifo_base = ioremap(e_priv->dma_port_res->start,
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1440  				    resource_size(e_priv->dma_port_res));
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1441  	if (!e_priv->fifo_base) {
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1442  		dev_err(board->dev, "Could not map I/O memory for fifos\n");
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1443  		return -ENOMEM;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1444  	}
acdf4581545b83 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2025-02-14  1445  	dev_dbg(board->dev, "dma fifos 0x%lx remapped to %p, length=%ld\n",
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1446  		(unsigned long)e_priv->dma_port_res->start, e_priv->fifo_base,
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1447  		(unsigned long)resource_size(e_priv->dma_port_res));
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1448  
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1449  	irq = platform_get_irq(pdev, 0);
1269b01cdf3fd3 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Chen Ni       2025-04-07  1450  	if (irq < 0)
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1451  		return -EBUSY;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1452  	retval = request_irq(irq, fmh_gpib_interrupt, IRQF_SHARED, pdev->name, board);
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1453  	if (retval) {
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1454  		dev_err(board->dev,
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1455  			"cannot register interrupt handler err=%d\n",
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1456  			retval);
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1457  		return retval;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1458  	}
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1459  	e_priv->irq = irq;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1460  
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1461  	if (acquire_dma) {
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1462  		e_priv->dma_channel = dma_request_slave_channel(board->dev, "rxtx");
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1463  		if (!e_priv->dma_channel) {
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1464  			dev_err(board->dev, "failed to acquire dma channel \"rxtx\".\n");
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1465  			return -EIO;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1466  		}
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1467  	}
6008c89dbdfc86 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Paul Retourné 2025-04-11  1468  	/*
6008c89dbdfc86 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Paul Retourné 2025-04-11  1469  	 * in the future we might want to know the half-fifo size
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1470  	 * (dma_burst_length) even when not using dma, so go ahead an
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1471  	 * initialize it unconditionally.
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1472  	 */
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1473  	e_priv->dma_burst_length = fifos_read(e_priv, FIFO_MAX_BURST_LENGTH_REG) &
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1474  		fifo_max_burst_length_mask;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1475  
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18 @1476  	return fmh_gpib_init(e_priv, board, handshake_mode);
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1477  }
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler  2024-09-18  1478  

:::::: The code at line 1476 was first introduced by commit
:::::: 8e4841a0888c74bdcb6ba115d6405206f0c2e8b4 staging: gpib: Add Frank Mori Hess FPGA PCI GPIB driver

:::::: TO: Dave Penkler <dpenkler@gmail.com>
:::::: CC: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

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

             reply	other threads:[~2026-07-10 13:34 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-10 13:33 kernel test robot [this message]
  -- strict thread matches above, loose matches on Subject: below --
2026-03-26 21:53 drivers/gpib/fmh_gpib/fmh_gpib.c:1476 fmh_gpib_attach_impl() warn: 'e_priv->fifo_base' from ioremap() not released on lines: 1451,1457,1465 kernel test robot

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=202607102136.8Zg3WLfZ-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.