From: kernel test robot <lkp@intel.com>
To: "Cássio Gabriel" <cassiogabrielcontato@gmail.com>,
"Charles Keepax" <ckeepax@opensource.cirrus.com>,
"Maciej Strozek" <mstrozek@opensource.cirrus.com>,
"Bard Liao" <yung-chuan.liao@linux.intel.com>,
"Pierre-Louis Bossart" <pierre-louis.bossart@linux.dev>,
"Jaroslav Kysela" <perex@perex.cz>,
"Takashi Iwai" <tiwai@suse.com>,
"Liam Girdwood" <lgirdwood@gmail.com>,
"Mark Brown" <broonie@kernel.org>
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev,
linux-sound@vger.kernel.org, patches@opensource.cirrus.com,
linux-kernel@vger.kernel.org,
"Cássio Gabriel" <cassiogabrielcontato@gmail.com>
Subject: Re: [PATCH] ASoC: SDCA: Write init table on function status IRQ
Date: Wed, 25 Mar 2026 21:35:52 +0800 [thread overview]
Message-ID: <202603252109.uP5pmwdI-lkp@intel.com> (raw)
In-Reply-To: <20260324-sdca-function-status-init-irq-v1-1-bba49417a4e0@gmail.com>
Hi Cássio,
kernel test robot noticed the following build errors:
[auto build test ERROR on 834f16f74d88054df215eebef09ad864c7e5977c]
url: https://github.com/intel-lab-lkp/linux/commits/C-ssio-Gabriel/ASoC-SDCA-Write-init-table-on-function-status-IRQ/20260325-094213
base: 834f16f74d88054df215eebef09ad864c7e5977c
patch link: https://lore.kernel.org/r/20260324-sdca-function-status-init-irq-v1-1-bba49417a4e0%40gmail.com
patch subject: [PATCH] ASoC: SDCA: Write init table on function status IRQ
config: x86_64-randconfig-003-20260325 (https://download.01.org/0day-ci/archive/20260325/202603252109.uP5pmwdI-lkp@intel.com/config)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260325/202603252109.uP5pmwdI-lkp@intel.com/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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202603252109.uP5pmwdI-lkp@intel.com/
All errors (new ones prefixed by >>):
>> sound/soc/sdca/sdca_interrupts.c:148:3: error: cannot jump from switch statement to this case label
148 | case SDCA_CTL_ENTITY_0_FUNCTION_HAS_BEEN_RESET:
| ^
sound/soc/sdca/sdca_interrupts.c:127:4: note: jump bypasses initialization of variable with __attribute__((cleanup))
127 | guard(mutex)(interrupt->init_lock);
| ^
include/linux/cleanup.h:419:2: note: expanded from macro 'guard'
419 | CLASS(_name, __UNIQUE_ID(guard))
| ^
include/linux/cleanup.h:300:3: note: expanded from macro 'CLASS'
300 | class_##_name##_constructor
| ^
<scratch space>:65:1: note: expanded from here
65 | class_mutex_constructor
| ^
note: (skipping 3 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/compiler_types.h:16:23: note: expanded from macro '__PASTE'
16 | #define __PASTE(a, b) ___PASTE(a, b)
| ^
include/linux/compiler_types.h:15:24: note: expanded from macro '___PASTE'
15 | #define ___PASTE(a, b) a##b
| ^
<scratch space>:71:1: note: expanded from here
71 | __UNIQUE_ID_unlock_454
| ^
sound/soc/sdca/sdca_interrupts.c:127:4: note: jump bypasses initialization of variable with __attribute__((cleanup))
include/linux/cleanup.h:419:15: note: expanded from macro 'guard'
419 | CLASS(_name, __UNIQUE_ID(guard))
| ^
include/linux/compiler.h:168:2: note: expanded from macro '__UNIQUE_ID'
168 | __PASTE(__UNIQUE_ID_, \
| ^
include/linux/compiler_types.h:16:23: note: expanded from macro '__PASTE'
16 | #define __PASTE(a, b) ___PASTE(a, b)
| ^
include/linux/compiler_types.h:15:24: note: expanded from macro '___PASTE'
15 | #define ___PASTE(a, b) a##b
| ^
<scratch space>:59:1: note: expanded from here
59 | __UNIQUE_ID_guard_453
| ^
sound/soc/sdca/sdca_interrupts.c:147:3: error: cannot jump from switch statement to this case label
147 | case SDCA_CTL_ENTITY_0_STREAMING_STOPPED_ABNORMALLY:
| ^
sound/soc/sdca/sdca_interrupts.c:127:4: note: jump bypasses initialization of variable with __attribute__((cleanup))
127 | guard(mutex)(interrupt->init_lock);
| ^
include/linux/cleanup.h:419:2: note: expanded from macro 'guard'
419 | CLASS(_name, __UNIQUE_ID(guard))
| ^
include/linux/cleanup.h:300:3: note: expanded from macro 'CLASS'
300 | class_##_name##_constructor
| ^
<scratch space>:65:1: note: expanded from here
65 | class_mutex_constructor
| ^
note: (skipping 3 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/compiler_types.h:16:23: note: expanded from macro '__PASTE'
16 | #define __PASTE(a, b) ___PASTE(a, b)
| ^
include/linux/compiler_types.h:15:24: note: expanded from macro '___PASTE'
15 | #define ___PASTE(a, b) a##b
| ^
<scratch space>:71:1: note: expanded from here
71 | __UNIQUE_ID_unlock_454
| ^
sound/soc/sdca/sdca_interrupts.c:127:4: note: jump bypasses initialization of variable with __attribute__((cleanup))
include/linux/cleanup.h:419:15: note: expanded from macro 'guard'
419 | CLASS(_name, __UNIQUE_ID(guard))
| ^
include/linux/compiler.h:168:2: note: expanded from macro '__UNIQUE_ID'
168 | __PASTE(__UNIQUE_ID_, \
| ^
include/linux/compiler_types.h:16:23: note: expanded from macro '__PASTE'
16 | #define __PASTE(a, b) ___PASTE(a, b)
| ^
include/linux/compiler_types.h:15:24: note: expanded from macro '___PASTE'
15 | #define ___PASTE(a, b) a##b
| ^
<scratch space>:59:1: note: expanded from here
59 | __UNIQUE_ID_guard_453
| ^
sound/soc/sdca/sdca_interrupts.c:146:3: error: cannot jump from switch statement to this case label
146 | case SDCA_CTL_ENTITY_0_INTS_DISABLED_ABNORMALLY:
| ^
sound/soc/sdca/sdca_interrupts.c:127:4: note: jump bypasses initialization of variable with __attribute__((cleanup))
127 | guard(mutex)(interrupt->init_lock);
| ^
include/linux/cleanup.h:419:2: note: expanded from macro 'guard'
419 | CLASS(_name, __UNIQUE_ID(guard))
| ^
include/linux/cleanup.h:300:3: note: expanded from macro 'CLASS'
300 | class_##_name##_constructor
| ^
<scratch space>:65:1: note: expanded from here
65 | class_mutex_constructor
| ^
note: (skipping 3 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/compiler_types.h:16:23: note: expanded from macro '__PASTE'
16 | #define __PASTE(a, b) ___PASTE(a, b)
| ^
vim +148 sound/soc/sdca/sdca_interrupts.c
b126394d9ec6f9 Maciej Strozek 2025-06-24 91
b9ab3b61824190 Charles Keepax 2025-06-24 92 static irqreturn_t function_status_handler(int irq, void *data)
b9ab3b61824190 Charles Keepax 2025-06-24 93 {
b9ab3b61824190 Charles Keepax 2025-06-24 94 struct sdca_interrupt *interrupt = data;
dfe7c3401ed3d3 Charles Keepax 2025-10-20 95 struct device *dev = interrupt->dev;
907364ea3db475 Charles Keepax 2025-10-20 96 irqreturn_t irqret = IRQ_NONE;
b9ab3b61824190 Charles Keepax 2025-06-24 97 unsigned int reg, val;
b9ab3b61824190 Charles Keepax 2025-06-24 98 unsigned long status;
b9ab3b61824190 Charles Keepax 2025-06-24 99 unsigned int mask;
b9ab3b61824190 Charles Keepax 2025-06-24 100 int ret;
b9ab3b61824190 Charles Keepax 2025-06-24 101
907364ea3db475 Charles Keepax 2025-10-20 102 ret = pm_runtime_get_sync(dev);
907364ea3db475 Charles Keepax 2025-10-20 103 if (ret < 0) {
907364ea3db475 Charles Keepax 2025-10-20 104 dev_err(dev, "failed to resume for function status: %d\n", ret);
907364ea3db475 Charles Keepax 2025-10-20 105 goto error;
907364ea3db475 Charles Keepax 2025-10-20 106 }
907364ea3db475 Charles Keepax 2025-10-20 107
b9ab3b61824190 Charles Keepax 2025-06-24 108 reg = SDW_SDCA_CTL(interrupt->function->desc->adr, interrupt->entity->id,
b9ab3b61824190 Charles Keepax 2025-06-24 109 interrupt->control->sel, 0);
b9ab3b61824190 Charles Keepax 2025-06-24 110
dfe7c3401ed3d3 Charles Keepax 2025-10-20 111 ret = regmap_read(interrupt->function_regmap, reg, &val);
b9ab3b61824190 Charles Keepax 2025-06-24 112 if (ret < 0) {
b9ab3b61824190 Charles Keepax 2025-06-24 113 dev_err(dev, "failed to read function status: %d\n", ret);
907364ea3db475 Charles Keepax 2025-10-20 114 goto error;
b9ab3b61824190 Charles Keepax 2025-06-24 115 }
b9ab3b61824190 Charles Keepax 2025-06-24 116
b9ab3b61824190 Charles Keepax 2025-06-24 117 dev_dbg(dev, "function status: %#x\n", val);
b9ab3b61824190 Charles Keepax 2025-06-24 118
b9ab3b61824190 Charles Keepax 2025-06-24 119 status = val;
b9ab3b61824190 Charles Keepax 2025-06-24 120 for_each_set_bit(mask, &status, BITS_PER_BYTE) {
b9ab3b61824190 Charles Keepax 2025-06-24 121 mask = 1 << mask;
b9ab3b61824190 Charles Keepax 2025-06-24 122
b9ab3b61824190 Charles Keepax 2025-06-24 123 switch (mask) {
b9ab3b61824190 Charles Keepax 2025-06-24 124 case SDCA_CTL_ENTITY_0_FUNCTION_NEEDS_INITIALIZATION:
d5a290177c76b9 Cássio Gabriel 2026-03-24 125 dev_dbg(dev, "write initialization\n");
d5a290177c76b9 Cássio Gabriel 2026-03-24 126
d5a290177c76b9 Cássio Gabriel 2026-03-24 127 guard(mutex)(interrupt->init_lock);
d5a290177c76b9 Cássio Gabriel 2026-03-24 128
d5a290177c76b9 Cássio Gabriel 2026-03-24 129 ret = sdca_regmap_write_init(dev, interrupt->device_regmap,
d5a290177c76b9 Cássio Gabriel 2026-03-24 130 interrupt->function);
d5a290177c76b9 Cássio Gabriel 2026-03-24 131 if (ret) {
d5a290177c76b9 Cássio Gabriel 2026-03-24 132 dev_err(dev, "failed to write initialization: %d\n", ret);
d5a290177c76b9 Cássio Gabriel 2026-03-24 133 goto error;
d5a290177c76b9 Cássio Gabriel 2026-03-24 134 }
b9ab3b61824190 Charles Keepax 2025-06-24 135 break;
b9ab3b61824190 Charles Keepax 2025-06-24 136 case SDCA_CTL_ENTITY_0_FUNCTION_FAULT:
b9ab3b61824190 Charles Keepax 2025-06-24 137 dev_err(dev, "function fault\n");
b9ab3b61824190 Charles Keepax 2025-06-24 138 break;
b9ab3b61824190 Charles Keepax 2025-06-24 139 case SDCA_CTL_ENTITY_0_UMP_SEQUENCE_FAULT:
b9ab3b61824190 Charles Keepax 2025-06-24 140 dev_err(dev, "ump sequence fault\n");
b9ab3b61824190 Charles Keepax 2025-06-24 141 break;
b9ab3b61824190 Charles Keepax 2025-06-24 142 case SDCA_CTL_ENTITY_0_FUNCTION_BUSY:
b9ab3b61824190 Charles Keepax 2025-06-24 143 dev_info(dev, "unexpected function busy\n");
b9ab3b61824190 Charles Keepax 2025-06-24 144 break;
b9ab3b61824190 Charles Keepax 2025-06-24 145 case SDCA_CTL_ENTITY_0_DEVICE_NEWLY_ATTACHED:
b9ab3b61824190 Charles Keepax 2025-06-24 146 case SDCA_CTL_ENTITY_0_INTS_DISABLED_ABNORMALLY:
b9ab3b61824190 Charles Keepax 2025-06-24 147 case SDCA_CTL_ENTITY_0_STREAMING_STOPPED_ABNORMALLY:
b9ab3b61824190 Charles Keepax 2025-06-24 @148 case SDCA_CTL_ENTITY_0_FUNCTION_HAS_BEEN_RESET:
b9ab3b61824190 Charles Keepax 2025-06-24 149 break;
b9ab3b61824190 Charles Keepax 2025-06-24 150 }
b9ab3b61824190 Charles Keepax 2025-06-24 151 }
b9ab3b61824190 Charles Keepax 2025-06-24 152
dfe7c3401ed3d3 Charles Keepax 2025-10-20 153 ret = regmap_write(interrupt->function_regmap, reg, val);
b9ab3b61824190 Charles Keepax 2025-06-24 154 if (ret < 0) {
b9ab3b61824190 Charles Keepax 2025-06-24 155 dev_err(dev, "failed to clear function status: %d\n", ret);
907364ea3db475 Charles Keepax 2025-10-20 156 goto error;
b9ab3b61824190 Charles Keepax 2025-06-24 157 }
b9ab3b61824190 Charles Keepax 2025-06-24 158
907364ea3db475 Charles Keepax 2025-10-20 159 irqret = IRQ_HANDLED;
907364ea3db475 Charles Keepax 2025-10-20 160 error:
907364ea3db475 Charles Keepax 2025-10-20 161 pm_runtime_put(dev);
907364ea3db475 Charles Keepax 2025-10-20 162 return irqret;
b9ab3b61824190 Charles Keepax 2025-06-24 163 }
b9ab3b61824190 Charles Keepax 2025-06-24 164
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
prev parent reply other threads:[~2026-03-25 13:46 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-24 3:03 [PATCH] ASoC: SDCA: Write init table on function status IRQ Cássio Gabriel
2026-03-24 9:20 ` Charles Keepax
2026-03-24 11:13 ` Cássio Gabriel
2026-03-24 11:23 ` Charles Keepax
2026-03-25 13:35 ` kernel test robot [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202603252109.uP5pmwdI-lkp@intel.com \
--to=lkp@intel.com \
--cc=broonie@kernel.org \
--cc=cassiogabrielcontato@gmail.com \
--cc=ckeepax@opensource.cirrus.com \
--cc=lgirdwood@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sound@vger.kernel.org \
--cc=llvm@lists.linux.dev \
--cc=mstrozek@opensource.cirrus.com \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=patches@opensource.cirrus.com \
--cc=perex@perex.cz \
--cc=pierre-louis.bossart@linux.dev \
--cc=tiwai@suse.com \
--cc=yung-chuan.liao@linux.intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox