sound/soc/codecs/tac5xx2-sdw.c:984 tac5xx2_jack_init() warn: missing error code 'ret'

From: Dan Carpenter

Date: Wed Jul 29 2026 - 01:46:08 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: fc02acf6ac0ccde0c805c2daa9148683cdd01ba8
commit: 38c89fededd5a9472e8222a20aa066058585f7b2 ASoC: tac5xx2-sdw: add soundwire based codec driver
date: 3 months ago
config: i386-randconfig-r073-20260729 (https://download.01.org/0day-ci/archive/20260729/202607291308.8OeeiyIv-lkp@xxxxxxxxx/config)
compiler: clang version 22.1.3 (https://github.com/llvm/llvm-project e9846648fd6183ee6d8cbdb4502213fcf902a211)
smatch: v0.5.0-9187-g5189e3fb

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
| Fixes: 38c89fededd5 ("ASoC: tac5xx2-sdw: add soundwire based codec driver")
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Reported-by: Dan Carpenter <error27@xxxxxxxxx>
| Closes: https://lore.kernel.org/r/202607291308.8OeeiyIv-lkp@xxxxxxxxx/

smatch warnings:
sound/soc/codecs/tac5xx2-sdw.c:984 tac5xx2_jack_init() warn: missing error code 'ret'

vim +/ret +984 sound/soc/codecs/tac5xx2-sdw.c

38c89fededd5a9 Niranjan H Y 2026-05-05 979 static int tac5xx2_jack_init(struct tac5xx2_prv *tac_dev)
38c89fededd5a9 Niranjan H Y 2026-05-05 980 {
38c89fededd5a9 Niranjan H Y 2026-05-05 981 int ret = 0;
38c89fededd5a9 Niranjan H Y 2026-05-05 982
38c89fededd5a9 Niranjan H Y 2026-05-05 983 if (!tac_dev->hs_jack)
38c89fededd5a9 Niranjan H Y 2026-05-05 @984 goto disable_interrupts;

Is this supposed to be an error path? tac_dev->hs_jack can't be NULL
in real life.

38c89fededd5a9 Niranjan H Y 2026-05-05 985
38c89fededd5a9 Niranjan H Y 2026-05-05 986 ret = regmap_write(tac_dev->regmap, SDW_SCP_SDCA_INTMASK2,
38c89fededd5a9 Niranjan H Y 2026-05-05 987 SDW_SCP_SDCA_INTMASK_SDCA_11);
38c89fededd5a9 Niranjan H Y 2026-05-05 988 if (ret) {
38c89fededd5a9 Niranjan H Y 2026-05-05 989 dev_err(tac_dev->dev,
38c89fededd5a9 Niranjan H Y 2026-05-05 990 "Failed to register jack detection interrupt: %d\n", ret);
38c89fededd5a9 Niranjan H Y 2026-05-05 991 goto disable_interrupts;
38c89fededd5a9 Niranjan H Y 2026-05-05 992 }
38c89fededd5a9 Niranjan H Y 2026-05-05 993
38c89fededd5a9 Niranjan H Y 2026-05-05 994 ret = regmap_write(tac_dev->regmap, SDW_SCP_SDCA_INTMASK3,
38c89fededd5a9 Niranjan H Y 2026-05-05 995 SDW_SCP_SDCA_INTMASK_SDCA_16);
38c89fededd5a9 Niranjan H Y 2026-05-05 996 if (ret) {
38c89fededd5a9 Niranjan H Y 2026-05-05 997 dev_err(tac_dev->dev,
38c89fededd5a9 Niranjan H Y 2026-05-05 998 "Failed to register for button detect interrupt: %d\n", ret);
38c89fededd5a9 Niranjan H Y 2026-05-05 999 goto disable_interrupts;
38c89fededd5a9 Niranjan H Y 2026-05-05 1000 }
38c89fededd5a9 Niranjan H Y 2026-05-05 1001
38c89fededd5a9 Niranjan H Y 2026-05-05 1002 return 0;
38c89fededd5a9 Niranjan H Y 2026-05-05 1003
38c89fededd5a9 Niranjan H Y 2026-05-05 1004 disable_interrupts:
38c89fededd5a9 Niranjan H Y 2026-05-05 1005 /* ignore errors while disabling interrupts */
38c89fededd5a9 Niranjan H Y 2026-05-05 1006 regmap_write(tac_dev->regmap, SDW_SCP_SDCA_INTMASK2, 0);
38c89fededd5a9 Niranjan H Y 2026-05-05 1007 regmap_write(tac_dev->regmap, SDW_SCP_SDCA_INTMASK3, 0);
38c89fededd5a9 Niranjan H Y 2026-05-05 1008
38c89fededd5a9 Niranjan H Y 2026-05-05 1009 return ret;
38c89fededd5a9 Niranjan H Y 2026-05-05 1010 }

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