All of lore.kernel.org
 help / color / mirror / Atom feed
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

      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.