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, 27 Mar 2026 05:53:09 +0800 [thread overview]
Message-ID: <202603270519.dmcjTDy4-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: 46b513250491a7bfc97d98791dbe6a10bcc8129d
commit: e6ab504633e4c06e35377ecf3c8cbc304de79858 staging: gpib: Destage gpib
date: 4 months ago
:::::: branch date: 42 minutes ago
:::::: commit date: 4 months ago
config: alpha-randconfig-r071-20260327 (https://download.01.org/0day-ci/archive/20260327/202603270519.dmcjTDy4-lkp@intel.com/config)
compiler: alpha-linux-gcc (GCC) 12.5.0
smatch: v0.5.0-9004-gb810ac53
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/202603270519.dmcjTDy4-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
next reply other threads:[~2026-03-26 21:54 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-26 21:53 kernel test robot [this message]
-- strict thread matches above, loose matches on Subject: below --
2026-07-10 13:33 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=202603270519.dmcjTDy4-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.