[linux-next:master 1679/3422] sound/soc/meson/aiu.c:313 aiu_probe() warn: missing unwind goto?
Dan Carpenter <[email protected]>
| Newsgroups | dev.linux.lists.oe-kbuild |
|---|---|
| Message-ID | <20260709103458.RUcySZ1PvH9lILPoHNHWgtpEWDr_cwd0hxqhtuiD7oM@z> |
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master head: 6eb8711ece2ce27e52e327a5b7a628ed39b97f45 commit: 83b83024cdbfdddee104f4a84c2c2f1f8e6659f3 [1679/3422] ASoC: meson: aiu: use aiu-formatter-i2s to format I2S output data config: riscv-randconfig-r071-20260703 (https://download.01.org/0day-ci/archive/20260703/[email protected]/config) compiler: riscv64-linux-gcc (GCC) 13.4.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 | Reported-by: kernel test robot <[email protected]> | Reported-by: Dan Carpenter <[email protected]> | Closes: https://lore.kernel.org/r/[email protected]/ smatch warnings: sound/soc/meson/aiu.c:313 aiu_probe() warn: missing unwind goto? vim +313 sound/soc/meson/aiu.c 6ae9ca9ce986bf Jerome Brunet 2020-02-13 254 static int aiu_probe(struct platform_device *pdev) 6ae9ca9ce986bf Jerome Brunet 2020-02-13 255 { 6ae9ca9ce986bf Jerome Brunet 2020-02-13 256 struct device *dev = &pdev->dev; 6ae9ca9ce986bf Jerome Brunet 2020-02-13 257 void __iomem *regs; 6ae9ca9ce986bf Jerome Brunet 2020-02-13 258 struct regmap *map; 6ae9ca9ce986bf Jerome Brunet 2020-02-13 259 struct aiu *aiu; 6ae9ca9ce986bf Jerome Brunet 2020-02-13 260 int ret; 6ae9ca9ce986bf Jerome Brunet 2020-02-13 261 6ae9ca9ce986bf Jerome Brunet 2020-02-13 262 aiu = devm_kzalloc(dev, sizeof(*aiu), GFP_KERNEL); 6ae9ca9ce986bf Jerome Brunet 2020-02-13 263 if (!aiu) 6ae9ca9ce986bf Jerome Brunet 2020-02-13 264 return -ENOMEM; edc761805302db Martin Blumenstingl 2020-02-20 265 edc761805302db Martin Blumenstingl 2020-02-20 266 aiu->platform = device_get_match_data(dev); edc761805302db Martin Blumenstingl 2020-02-20 267 if (!aiu->platform) edc761805302db Martin Blumenstingl 2020-02-20 268 return -ENODEV; edc761805302db Martin Blumenstingl 2020-02-20 269 6ae9ca9ce986bf Jerome Brunet 2020-02-13 270 platform_set_drvdata(pdev, aiu); 6ae9ca9ce986bf Jerome Brunet 2020-02-13 271 6ae9ca9ce986bf Jerome Brunet 2020-02-13 272 ret = device_reset(dev); 2ff4e003e8e105 Kuninori Morimoto 2021-12-14 273 if (ret) 2ff4e003e8e105 Kuninori Morimoto 2021-12-14 274 return dev_err_probe(dev, ret, "Failed to reset device\n"); 6ae9ca9ce986bf Jerome Brunet 2020-02-13 275 6ae9ca9ce986bf Jerome Brunet 2020-02-13 276 regs = devm_platform_ioremap_resource(pdev, 0); 6ae9ca9ce986bf Jerome Brunet 2020-02-13 277 if (IS_ERR(regs)) 6ae9ca9ce986bf Jerome Brunet 2020-02-13 278 return PTR_ERR(regs); 6ae9ca9ce986bf Jerome Brunet 2020-02-13 279 6ae9ca9ce986bf Jerome Brunet 2020-02-13 280 map = devm_regmap_init_mmio(dev, regs, &aiu_regmap_cfg); 6ae9ca9ce986bf Jerome Brunet 2020-02-13 281 if (IS_ERR(map)) { 6ae9ca9ce986bf Jerome Brunet 2020-02-13 282 dev_err(dev, "failed to init regmap: %ld\n", 6ae9ca9ce986bf Jerome Brunet 2020-02-13 283 PTR_ERR(map)); 6ae9ca9ce986bf Jerome Brunet 2020-02-13 284 return PTR_ERR(map); 6ae9ca9ce986bf Jerome Brunet 2020-02-13 285 } 6ae9ca9ce986bf Jerome Brunet 2020-02-13 286 6ae9ca9ce986bf Jerome Brunet 2020-02-13 287 aiu->i2s.irq = platform_get_irq_byname(pdev, "i2s"); 6e700f0672199f Jerome Brunet 2020-02-14 288 if (aiu->i2s.irq < 0) 6ae9ca9ce986bf Jerome Brunet 2020-02-13 289 return aiu->i2s.irq; 6ae9ca9ce986bf Jerome Brunet 2020-02-13 290 6ae9ca9ce986bf Jerome Brunet 2020-02-13 291 aiu->spdif.irq = platform_get_irq_byname(pdev, "spdif"); 6e700f0672199f Jerome Brunet 2020-02-14 292 if (aiu->spdif.irq < 0) 6ae9ca9ce986bf Jerome Brunet 2020-02-13 293 return aiu->spdif.irq; 6ae9ca9ce986bf Jerome Brunet 2020-02-13 294 6ae9ca9ce986bf Jerome Brunet 2020-02-13 295 ret = aiu_clk_get(dev); 6ae9ca9ce986bf Jerome Brunet 2020-02-13 296 if (ret) 6ae9ca9ce986bf Jerome Brunet 2020-02-13 297 return ret; 6ae9ca9ce986bf Jerome Brunet 2020-02-13 298 83b83024cdbfdd Valerio Setti 2026-06-10 299 /* Allocate the aiu-formatter into its widget */ 83b83024cdbfdd Valerio Setti 2026-06-10 300 ret = gx_formatter_create(dev, &aiu_cpu_dapm_widgets[AIU_WIDGET_I2S_FORMATTER], 83b83024cdbfdd Valerio Setti 2026-06-10 301 &aiu_formatter_i2s_drv, map); 83b83024cdbfdd Valerio Setti 2026-06-10 302 if (ret) { 83b83024cdbfdd Valerio Setti 2026-06-10 303 dev_err(dev, "Failed to allocate aiu formatter\n"); 83b83024cdbfdd Valerio Setti 2026-06-10 304 goto err; This error handling seems wrong. Goto 83b83024cdbfdd Valerio Setti 2026-06-10 305 } 83b83024cdbfdd Valerio Setti 2026-06-10 306 6ae9ca9ce986bf Jerome Brunet 2020-02-13 307 /* Register the cpu component of the aiu */ 6ae9ca9ce986bf Jerome Brunet 2020-02-13 308 ret = snd_soc_register_component(dev, &aiu_cpu_component, 6ae9ca9ce986bf Jerome Brunet 2020-02-13 309 aiu_cpu_dai_drv, 6ae9ca9ce986bf Jerome Brunet 2020-02-13 310 ARRAY_SIZE(aiu_cpu_dai_drv)); b82b734c0e9a75 Jerome Brunet 2020-02-13 311 if (ret) { 6ae9ca9ce986bf Jerome Brunet 2020-02-13 312 dev_err(dev, "Failed to register cpu component\n"); b82b734c0e9a75 Jerome Brunet 2020-02-13 @313 return ret; followed by a direct return b82b734c0e9a75 Jerome Brunet 2020-02-13 314 } 6ae9ca9ce986bf Jerome Brunet 2020-02-13 315 b82b734c0e9a75 Jerome Brunet 2020-02-13 316 /* Register the hdmi codec control component */ b82b734c0e9a75 Jerome Brunet 2020-02-13 317 ret = aiu_hdmi_ctrl_register_component(dev); b82b734c0e9a75 Jerome Brunet 2020-02-13 318 if (ret) { b82b734c0e9a75 Jerome Brunet 2020-02-13 319 dev_err(dev, "Failed to register hdmi control component\n"); b82b734c0e9a75 Jerome Brunet 2020-02-13 320 goto err; b82b734c0e9a75 Jerome Brunet 2020-02-13 321 } b82b734c0e9a75 Jerome Brunet 2020-02-13 322 65816025d46169 Jerome Brunet 2020-02-13 323 /* Register the internal dac control component on gxl */ edc761805302db Martin Blumenstingl 2020-02-20 324 if (aiu->platform->has_acodec) { 65816025d46169 Jerome Brunet 2020-02-13 325 ret = aiu_acodec_ctrl_register_component(dev); 65816025d46169 Jerome Brunet 2020-02-13 326 if (ret) { 65816025d46169 Jerome Brunet 2020-02-13 327 dev_err(dev, 65816025d46169 Jerome Brunet 2020-02-13 328 "Failed to register acodec control component\n"); 65816025d46169 Jerome Brunet 2020-02-13 329 goto err; 65816025d46169 Jerome Brunet 2020-02-13 330 } 65816025d46169 Jerome Brunet 2020-02-13 331 } 65816025d46169 Jerome Brunet 2020-02-13 332 b82b734c0e9a75 Jerome Brunet 2020-02-13 333 return 0; b82b734c0e9a75 Jerome Brunet 2020-02-13 334 err: 83b83024cdbfdd Valerio Setti 2026-06-10 335 gx_formatter_free(&aiu_cpu_dapm_widgets[AIU_WIDGET_I2S_FORMATTER]); b82b734c0e9a75 Jerome Brunet 2020-02-13 336 snd_soc_unregister_component(dev); 6ae9ca9ce986bf Jerome Brunet 2020-02-13 337 return ret; 6ae9ca9ce986bf Jerome Brunet 2020-02-13 338 } -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki