Hi Fred, kernel test robot noticed the following build errors: [auto build test ERROR on lee-mfd/for-mfd-next] [also build test ERROR on broonie-sound/for-next dtor-input/next dtor-input/for-linus linus/master v6.14-rc3 next-20250218] [cannot apply to lee-mfd/for-mfd-fixes] [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/Fred-Treven/firmware-cs_dsp-Fix-error-checking-in-wseq_write/20250217-181206 base: https://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd.git for-mfd-next patch link: https://lore.kernel.org/r/20250204231835.2000457-6-ftreven%40opensource.cirrus.com patch subject: [PATCH RESEND 5/7] mfd: cs40l26: Add support for CS40L26 core driver config: s390-allmodconfig (https://download.01.org/0day-ci/archive/20250219/202502190628.g4aG7l2q-lkp@xxxxxxxxx/config) compiler: clang version 19.1.3 (https://github.com/llvm/llvm-project ab51eccf88f5321e7c60591c5546b254b6afab99) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250219/202502190628.g4aG7l2q-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> | Closes: https://lore.kernel.org/oe-kbuild-all/202502190628.g4aG7l2q-lkp@xxxxxxxxx/ All errors (new ones prefixed by >>): In file included from drivers/mfd/cs40l26-core.c:12: In file included from include/linux/mfd/core.h:13: In file included from include/linux/platform_device.h:13: In file included from include/linux/device.h:32: In file included from include/linux/device/driver.h:21: In file included from include/linux/module.h:19: In file included from include/linux/elf.h:6: In file included from arch/s390/include/asm/elf.h:181: In file included from arch/s390/include/asm/mmu_context.h:11: In file included from arch/s390/include/asm/pgalloc.h:18: In file included from include/linux/mm.h:2224: include/linux/vmstat.h:504:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion] 504 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~ ^ 505 | item]; | ~~~~ include/linux/vmstat.h:511:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion] 511 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~ ^ 512 | NR_VM_NUMA_EVENT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~~ include/linux/vmstat.h:524:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion] 524 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~ ^ 525 | NR_VM_NUMA_EVENT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~~ >> drivers/mfd/cs40l26-core.c:1173:3: error: cannot jump from this goto statement to its label 1173 | goto err_fw_rls; | ^ drivers/mfd/cs40l26-core.c:1176:2: note: jump bypasses initialization of variable with __attribute__((cleanup)) 1176 | guard(mutex)(&cs40l26->lock); | ^ include/linux/cleanup.h:309:15: note: expanded from macro 'guard' 309 | CLASS(_name, __UNIQUE_ID(guard)) | ^ include/linux/compiler.h:166:29: note: expanded from macro '__UNIQUE_ID' 166 | #define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__) | ^ include/linux/compiler_types.h:84:22: note: expanded from macro '__PASTE' 84 | #define __PASTE(a,b) ___PASTE(a,b) | ^ include/linux/compiler_types.h:83:23: note: expanded from macro '___PASTE' 83 | #define ___PASTE(a,b) a##b | ^ <scratch space>:42:1: note: expanded from here 42 | __UNIQUE_ID_guard697 | ^ 3 warnings and 1 error generated. vim +1173 drivers/mfd/cs40l26-core.c 1165 1166 static void cs40l26_dsp_start(struct cs40l26 *cs40l26) 1167 { 1168 int i, ret; 1169 1170 ret = cs40l26_dsp_pre_config(cs40l26); 1171 if (ret) { 1172 dev_err(cs40l26->dev, "DSP Pre Config. Failed: %d\n", ret); > 1173 goto err_fw_rls; 1174 } 1175 1176 guard(mutex)(&cs40l26->lock); 1177 1178 ret = cs_dsp_power_up_multiple(&cs40l26->dsp, cs40l26->wmfw, "cs40l26.wmfw", cs40l26_coeffs, 1179 CS40L26_NUM_COEFF_FILES, "cs40l26"); 1180 if (ret) { 1181 dev_err(cs40l26->dev, "Failed to Power Up DSP\n"); 1182 goto err_fw_rls; 1183 } 1184 1185 if (cs40l26->dsp.fw_id != CS40L26_FW_ID) { 1186 dev_err(cs40l26->dev, "Invalid firmware ID: 0x%X\n", cs40l26->dsp.fw_id); 1187 goto err_fw_rls; 1188 } 1189 1190 if (cs40l26->dsp.fw_id_version < cs40l26->variant->info->fw_min_rev) { 1191 dev_err(cs40l26->dev, "Invalid firmware revision: 0x%X\n", 1192 cs40l26->dsp.fw_id_version); 1193 goto err_fw_rls; 1194 } 1195 1196 ret = cs_dsp_run(&cs40l26->dsp); 1197 if (ret) 1198 dev_err(cs40l26->dev, "DSP Failed to run: %d\n", ret); 1199 1200 err_fw_rls: 1201 for (i = 0; i < CS40L26_NUM_COEFF_FILES; i++) 1202 release_firmware(cs40l26_coeffs[i].coeff_firmware); 1203 1204 release_firmware(cs40l26->wmfw); 1205 } 1206 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki