From: kernel test robot <lkp@intel.com>
To: Charles Keepax <ckeepax@opensource.cirrus.com>
Cc: oe-kbuild-all@lists.linux.dev, Mark Brown <broonie@kernel.org>,
Arnd Bergmann <arnd@arndb.de>
Subject: [linux-next:master 8699/10823] sound/soc/sdca/sdca_interrupts.c:220:1: warning: the frame size of 1264 bytes is larger than 1024 bytes
Date: Fri, 18 Jul 2025 22:43:00 +0800 [thread overview]
Message-ID: <202507182222.OLgOy9fX-lkp@intel.com> (raw)
Hi Charles,
First bad commit (maybe != root cause):
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: 024e09e444bd2b06aee9d1f3fe7b313c7a2df1bb
commit: 6894e49b7b62cdb0edbcaaa23ea0218edb3b02dd [8699/10823] ASoC: SDCA: Kconfig/Makefile fixups
config: x86_64-defconfig (https://download.01.org/0day-ci/archive/20250718/202507182222.OLgOy9fX-lkp@intel.com/config)
compiler: gcc-11 (Debian 11.3.0-12) 11.3.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250718/202507182222.OLgOy9fX-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/202507182222.OLgOy9fX-lkp@intel.com/
All warnings (new ones prefixed by >>):
sound/soc/sdca/sdca_interrupts.c: In function 'detected_mode_handler':
>> sound/soc/sdca/sdca_interrupts.c:220:1: warning: the frame size of 1264 bytes is larger than 1024 bytes [-Wframe-larger-than=]
220 | }
| ^
vim +220 sound/soc/sdca/sdca_interrupts.c
b9ab3b61824190b Charles Keepax 2025-06-24 138
b9ab3b61824190b Charles Keepax 2025-06-24 139 static irqreturn_t detected_mode_handler(int irq, void *data)
b9ab3b61824190b Charles Keepax 2025-06-24 140 {
b9ab3b61824190b Charles Keepax 2025-06-24 141 struct sdca_interrupt *interrupt = data;
b9ab3b61824190b Charles Keepax 2025-06-24 142 struct snd_soc_component *component = interrupt->component;
b9ab3b61824190b Charles Keepax 2025-06-24 143 struct device *dev = component->dev;
b9ab3b61824190b Charles Keepax 2025-06-24 144 struct snd_soc_card *card = component->card;
b9ab3b61824190b Charles Keepax 2025-06-24 145 struct rw_semaphore *rwsem = &card->snd_card->controls_rwsem;
b9ab3b61824190b Charles Keepax 2025-06-24 146 struct snd_kcontrol *kctl = interrupt->priv;
b9ab3b61824190b Charles Keepax 2025-06-24 147 struct snd_ctl_elem_value ucontrol;
b9ab3b61824190b Charles Keepax 2025-06-24 148 struct soc_enum *soc_enum;
b9ab3b61824190b Charles Keepax 2025-06-24 149 unsigned int reg, val;
b9ab3b61824190b Charles Keepax 2025-06-24 150 int ret;
b9ab3b61824190b Charles Keepax 2025-06-24 151
b9ab3b61824190b Charles Keepax 2025-06-24 152 if (!kctl) {
b9ab3b61824190b Charles Keepax 2025-06-24 153 const char *name __free(kfree) = kasprintf(GFP_KERNEL, "%s %s",
b9ab3b61824190b Charles Keepax 2025-06-24 154 interrupt->entity->label,
b9ab3b61824190b Charles Keepax 2025-06-24 155 SDCA_CTL_SELECTED_MODE_NAME);
b9ab3b61824190b Charles Keepax 2025-06-24 156
b9ab3b61824190b Charles Keepax 2025-06-24 157 if (!name)
b9ab3b61824190b Charles Keepax 2025-06-24 158 return -ENOMEM;
b9ab3b61824190b Charles Keepax 2025-06-24 159
b9ab3b61824190b Charles Keepax 2025-06-24 160 kctl = snd_soc_component_get_kcontrol(component, name);
b9ab3b61824190b Charles Keepax 2025-06-24 161 if (!kctl) {
b9ab3b61824190b Charles Keepax 2025-06-24 162 dev_dbg(dev, "control not found: %s\n", name);
b9ab3b61824190b Charles Keepax 2025-06-24 163 return IRQ_NONE;
b9ab3b61824190b Charles Keepax 2025-06-24 164 }
b9ab3b61824190b Charles Keepax 2025-06-24 165
b9ab3b61824190b Charles Keepax 2025-06-24 166 interrupt->priv = kctl;
b9ab3b61824190b Charles Keepax 2025-06-24 167 }
b9ab3b61824190b Charles Keepax 2025-06-24 168
b9ab3b61824190b Charles Keepax 2025-06-24 169 soc_enum = (struct soc_enum *)kctl->private_value;
b9ab3b61824190b Charles Keepax 2025-06-24 170
b9ab3b61824190b Charles Keepax 2025-06-24 171 reg = SDW_SDCA_CTL(interrupt->function->desc->adr, interrupt->entity->id,
b9ab3b61824190b Charles Keepax 2025-06-24 172 interrupt->control->sel, 0);
b9ab3b61824190b Charles Keepax 2025-06-24 173
b9ab3b61824190b Charles Keepax 2025-06-24 174 ret = regmap_read(component->regmap, reg, &val);
b9ab3b61824190b Charles Keepax 2025-06-24 175 if (ret < 0) {
b9ab3b61824190b Charles Keepax 2025-06-24 176 dev_err(dev, "failed to read detected mode: %d\n", ret);
b9ab3b61824190b Charles Keepax 2025-06-24 177 return IRQ_NONE;
b9ab3b61824190b Charles Keepax 2025-06-24 178 }
b9ab3b61824190b Charles Keepax 2025-06-24 179
b9ab3b61824190b Charles Keepax 2025-06-24 180 switch (val) {
b9ab3b61824190b Charles Keepax 2025-06-24 181 case SDCA_DETECTED_MODE_DETECTION_IN_PROGRESS:
b9ab3b61824190b Charles Keepax 2025-06-24 182 case SDCA_DETECTED_MODE_JACK_UNKNOWN:
b9ab3b61824190b Charles Keepax 2025-06-24 183 reg = SDW_SDCA_CTL(interrupt->function->desc->adr,
b9ab3b61824190b Charles Keepax 2025-06-24 184 interrupt->entity->id,
b9ab3b61824190b Charles Keepax 2025-06-24 185 SDCA_CTL_GE_SELECTED_MODE, 0);
b9ab3b61824190b Charles Keepax 2025-06-24 186
b9ab3b61824190b Charles Keepax 2025-06-24 187 /*
b9ab3b61824190b Charles Keepax 2025-06-24 188 * Selected mode is not normally marked as volatile register
b9ab3b61824190b Charles Keepax 2025-06-24 189 * (RW), but here force a read from the hardware. If the
b9ab3b61824190b Charles Keepax 2025-06-24 190 * detected mode is unknown we need to see what the device
b9ab3b61824190b Charles Keepax 2025-06-24 191 * selected as a "safe" option.
b9ab3b61824190b Charles Keepax 2025-06-24 192 */
b9ab3b61824190b Charles Keepax 2025-06-24 193 regcache_drop_region(component->regmap, reg, reg);
b9ab3b61824190b Charles Keepax 2025-06-24 194
b9ab3b61824190b Charles Keepax 2025-06-24 195 ret = regmap_read(component->regmap, reg, &val);
b9ab3b61824190b Charles Keepax 2025-06-24 196 if (ret) {
b9ab3b61824190b Charles Keepax 2025-06-24 197 dev_err(dev, "failed to re-check selected mode: %d\n", ret);
b9ab3b61824190b Charles Keepax 2025-06-24 198 return IRQ_NONE;
b9ab3b61824190b Charles Keepax 2025-06-24 199 }
b9ab3b61824190b Charles Keepax 2025-06-24 200 break;
b9ab3b61824190b Charles Keepax 2025-06-24 201 default:
b9ab3b61824190b Charles Keepax 2025-06-24 202 break;
b9ab3b61824190b Charles Keepax 2025-06-24 203 }
b9ab3b61824190b Charles Keepax 2025-06-24 204
b9ab3b61824190b Charles Keepax 2025-06-24 205 dev_dbg(dev, "%s: %#x\n", interrupt->name, val);
b9ab3b61824190b Charles Keepax 2025-06-24 206
b9ab3b61824190b Charles Keepax 2025-06-24 207 ucontrol.value.enumerated.item[0] = snd_soc_enum_val_to_item(soc_enum, val);
b9ab3b61824190b Charles Keepax 2025-06-24 208
b9ab3b61824190b Charles Keepax 2025-06-24 209 down_write(rwsem);
b9ab3b61824190b Charles Keepax 2025-06-24 210 ret = kctl->put(kctl, &ucontrol);
b9ab3b61824190b Charles Keepax 2025-06-24 211 up_write(rwsem);
b9ab3b61824190b Charles Keepax 2025-06-24 212 if (ret < 0) {
b9ab3b61824190b Charles Keepax 2025-06-24 213 dev_err(dev, "failed to update selected mode: %d\n", ret);
b9ab3b61824190b Charles Keepax 2025-06-24 214 return IRQ_NONE;
b9ab3b61824190b Charles Keepax 2025-06-24 215 }
b9ab3b61824190b Charles Keepax 2025-06-24 216
b9ab3b61824190b Charles Keepax 2025-06-24 217 snd_ctl_notify(card->snd_card, SNDRV_CTL_EVENT_MASK_VALUE, &kctl->id);
b9ab3b61824190b Charles Keepax 2025-06-24 218
b9ab3b61824190b Charles Keepax 2025-06-24 219 return IRQ_HANDLED;
b9ab3b61824190b Charles Keepax 2025-06-24 @220 }
b9ab3b61824190b Charles Keepax 2025-06-24 221
:::::: The code at line 220 was first introduced by commit
:::::: b9ab3b61824190b1c6b2c59e7ba4de591f24eb92 ASoC: SDCA: Add some initial IRQ handlers
:::::: TO: Charles Keepax <ckeepax@opensource.cirrus.com>
:::::: CC: Mark Brown <broonie@kernel.org>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next reply other threads:[~2025-07-18 14:43 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-18 14:43 kernel test robot [this message]
2025-07-18 15:50 ` [linux-next:master 8699/10823] sound/soc/sdca/sdca_interrupts.c:220:1: warning: the frame size of 1264 bytes is larger than 1024 bytes Arnd Bergmann
2025-07-21 8:58 ` Charles Keepax
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=202507182222.OLgOy9fX-lkp@intel.com \
--to=lkp@intel.com \
--cc=arnd@arndb.de \
--cc=broonie@kernel.org \
--cc=ckeepax@opensource.cirrus.com \
--cc=oe-kbuild-all@lists.linux.dev \
/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.