Hi James, kernel test robot noticed the following build warnings: https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/James-Tai/dt-bindings-interrupt-controller-Add-support-for-Realtek-DHC-SoCs/20231118-003036 base: tip/irq/core patch link: https://lore.kernel.org/r/20231117162709.1096585-4-james.tai%40realtek.com patch subject: [PATCH v2 3/6] irqchip: Introduce RTD1319 support using the Realtek common interrupt controller driver config: nios2-randconfig-r081-20231120 (https://download.01.org/0day-ci/archive/20231120/202311201929.2FpvMRlg-lkp@xxxxxxxxx/config) compiler: nios2-linux-gcc (GCC) 13.2.0 reproduce: (https://download.01.org/0day-ci/archive/20231120/202311201929.2FpvMRlg-lkp@xxxxxxxxx/reproduce) 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> | Reported-by: Dan Carpenter <error27@xxxxxxxxx> | Closes: https://lore.kernel.org/r/202311201929.2FpvMRlg-lkp@xxxxxxxxx/ smatch warnings: drivers/irqchip/irq-realtek-intc-common.c:179 realtek_intc_probe() warn: ignoring unreachable code. drivers/irqchip/irq-realtek-intc-common.c:187 realtek_intc_probe() warn: 'data->base' from of_iomap() not released on lines: 176,182. vim +179 drivers/irqchip/irq-realtek-intc-common.c 40e5ff4eaef72b James Tai 2023-11-18 155 int realtek_intc_probe(struct platform_device *pdev, const struct realtek_intc_info *info) 40e5ff4eaef72b James Tai 2023-11-18 156 { 40e5ff4eaef72b James Tai 2023-11-18 157 struct realtek_intc_data *data; 40e5ff4eaef72b James Tai 2023-11-18 158 struct device *dev = &pdev->dev; 40e5ff4eaef72b James Tai 2023-11-18 159 struct device_node *node = dev->of_node; 40e5ff4eaef72b James Tai 2023-11-18 160 int ret, i; 40e5ff4eaef72b James Tai 2023-11-18 161 40e5ff4eaef72b James Tai 2023-11-18 162 data = devm_kzalloc(dev, struct_size(data, subset_data, info->cfg_num), GFP_KERNEL); 40e5ff4eaef72b James Tai 2023-11-18 163 if (!data) 40e5ff4eaef72b James Tai 2023-11-18 164 return -ENOMEM; 40e5ff4eaef72b James Tai 2023-11-18 165 40e5ff4eaef72b James Tai 2023-11-18 166 data->base = of_iomap(node, 0); 40e5ff4eaef72b James Tai 2023-11-18 167 if (!data->base) 40e5ff4eaef72b James Tai 2023-11-18 168 return -ENOMEM; 40e5ff4eaef72b James Tai 2023-11-18 169 40e5ff4eaef72b James Tai 2023-11-18 170 data->info = info; 40e5ff4eaef72b James Tai 2023-11-18 171 40e5ff4eaef72b James Tai 2023-11-18 172 raw_spin_lock_init(&data->lock); 40e5ff4eaef72b James Tai 2023-11-18 173 40e5ff4eaef72b James Tai 2023-11-18 174 data->domain = irq_domain_add_linear(node, 32, &realtek_intc_domain_ops, data); 40e5ff4eaef72b James Tai 2023-11-18 175 if (!data->domain) 40e5ff4eaef72b James Tai 2023-11-18 176 return -ENOMEM; 40e5ff4eaef72b James Tai 2023-11-18 177 40e5ff4eaef72b James Tai 2023-11-18 178 data->subset_data_num = info->cfg_num; 40e5ff4eaef72b James Tai 2023-11-18 @179 for (i = 0; i < info->cfg_num; i++) { 40e5ff4eaef72b James Tai 2023-11-18 180 ret = realtek_intc_subset(node, data, i); 40e5ff4eaef72b James Tai 2023-11-18 181 WARN(ret, "failed to init subset %d: %d", i, ret); 40e5ff4eaef72b James Tai 2023-11-18 182 return -ENOMEM; This loop just returns -ENOMEM. Missing if statement? No clean up either. Needs to release resources before returning. 40e5ff4eaef72b James Tai 2023-11-18 183 } 40e5ff4eaef72b James Tai 2023-11-18 184 40e5ff4eaef72b James Tai 2023-11-18 185 platform_set_drvdata(pdev, data); 40e5ff4eaef72b James Tai 2023-11-18 186 40e5ff4eaef72b James Tai 2023-11-18 @187 return 0; 40e5ff4eaef72b James Tai 2023-11-18 188 } 40e5ff4eaef72b James Tai 2023-11-18 189 EXPORT_SYMBOL(realtek_intc_probe); -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki