Re: [PATCH v2] fbdev: lcdcfb: add missing device_remove_file()

From: kernel test robot
Date: Wed Feb 19 2025 - 00:26:02 EST


Hi,

kernel test robot noticed the following build warnings:

[auto build test WARNING on lee-leds/for-leds-next]
[also build test WARNING on linus/master v6.14-rc3 next-20250218]
[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/oushixiong1025-163-com/fbdev-lcdcfb-add-missing-device_remove_file/20250208-173203
base: https://git.kernel.org/pub/scm/linux/kernel/git/lee/leds.git for-leds-next
patch link: https://lore.kernel.org/r/20250208092918.251733-1-oushixiong1025%40163.com
patch subject: [PATCH v2] fbdev: lcdcfb: add missing device_remove_file()
config: nios2-randconfig-r072-20250219 (https://download.01.org/0day-ci/archive/20250219/202502191200.AVwVc1DY-lkp@xxxxxxxxx/config)
compiler: nios2-linux-gcc (GCC) 14.2.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@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202502191200.AVwVc1DY-lkp@xxxxxxxxx/

smatch warnings:
drivers/video/fbdev/sh_mobile_lcdcfb.c:1544 sh_mobile_lcdc_overlay_fb_register() warn: always true condition '(--i >= 0) => (0-u32max >= 0)'
drivers/video/fbdev/sh_mobile_lcdcfb.c:1544 sh_mobile_lcdc_overlay_fb_register() warn: always true condition '(--i >= 0) => (0-u32max >= 0)'
drivers/video/fbdev/sh_mobile_lcdcfb.c:2652 sh_mobile_lcdc_probe() warn: 'irq' from request_irq() not released on lines: 2652.
drivers/video/fbdev/sh_mobile_lcdcfb.c:2652 sh_mobile_lcdc_probe() warn: 'priv->base' from ioremap() not released on lines: 2652.

vim +1544 drivers/video/fbdev/sh_mobile_lcdcfb.c

1517
1518 static int
1519 sh_mobile_lcdc_overlay_fb_register(struct sh_mobile_lcdc_overlay *ovl)
1520 {
1521 struct sh_mobile_lcdc_priv *lcdc = ovl->channel->lcdc;
1522 struct fb_info *info = ovl->info;
1523 unsigned int i, error = 0;
1524 int ret;
1525
1526 if (info == NULL)
1527 return 0;
1528
1529 ret = register_framebuffer(info);
1530 if (ret < 0)
1531 return ret;
1532
1533 dev_info(lcdc->dev, "registered %s/overlay %u as %dx%d %dbpp.\n",
1534 dev_name(lcdc->dev), ovl->index, info->var.xres,
1535 info->var.yres, info->var.bits_per_pixel);
1536
1537 for (i = 0; i < ARRAY_SIZE(overlay_sysfs_attrs); ++i) {
1538 error = device_create_file(info->dev, &overlay_sysfs_attrs[i]);
1539 if (error)
1540 break;
1541 }
1542
1543 if (error) {
> 1544 while (--i >= 0)
1545 device_remove_file(info->dev, &overlay_sysfs_attrs[i]);
1546 return error;
1547 }
1548
1549 return 0;
1550 }
1551

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