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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.