Re: [PATCH v1 1/7] ALSA: hda: cs35l41: Set the max PCM Gain using tuning setting

From: kernel test robot
Date: Wed Apr 10 2024 - 23:18:15 EST


Hi Stefan,

kernel test robot noticed the following build warnings:

[auto build test WARNING on tiwai-sound/for-next]
[also build test WARNING on tiwai-sound/for-linus linus/master v6.9-rc3 next-20240410]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/Stefan-Binding/ALSA-hda-cs35l41-Set-the-max-PCM-Gain-using-tuning-setting/20240410-235446
base: https://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git for-next
patch link: https://lore.kernel.org/r/20240410155223.7164-2-sbinding%40opensource.cirrus.com
patch subject: [PATCH v1 1/7] ALSA: hda: cs35l41: Set the max PCM Gain using tuning setting
config: i386-allmodconfig (https://download.01.org/0day-ci/archive/20240411/202404111139.1pqQN9c6-lkp@xxxxxxxxx/config)
compiler: gcc-13 (Ubuntu 13.2.0-4ubuntu3) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240411/202404111139.1pqQN9c6-lkp@xxxxxxxxx/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@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202404111139.1pqQN9c6-lkp@xxxxxxxxx/

All warnings (new ones prefixed by >>):

In file included from include/linux/device.h:15,
from include/linux/acpi.h:14,
from sound/pci/hda/cs35l41_hda.c:9:
sound/pci/hda/cs35l41_hda.c: In function 'cs35l41_read_tuning_params':
>> sound/pci/hda/cs35l41_hda.c:511:39: warning: format '%ld' expects argument of type 'long int', but argument 4 has type 'size_t' {aka 'unsigned int'} [-Wformat=]
511 | dev_err(cs35l41->dev, "Wrong Size for Tuning Param file. Expected %d got %ld\n",
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/dev_printk.h:110:30: note: in definition of macro 'dev_printk_index_wrap'
110 | _p_func(dev, fmt, ##__VA_ARGS__); \
| ^~~
include/linux/dev_printk.h:144:56: note: in expansion of macro 'dev_fmt'
144 | dev_printk_index_wrap(_dev_err, KERN_ERR, dev, dev_fmt(fmt), ##__VA_ARGS__)
| ^~~~~~~
sound/pci/hda/cs35l41_hda.c:511:17: note: in expansion of macro 'dev_err'
511 | dev_err(cs35l41->dev, "Wrong Size for Tuning Param file. Expected %d got %ld\n",
| ^~~~~~~
sound/pci/hda/cs35l41_hda.c:511:92: note: format string is defined here
511 | dev_err(cs35l41->dev, "Wrong Size for Tuning Param file. Expected %d got %ld\n",
| ~~^
| |
| long int
| %d
In file included from include/linux/printk.h:566,
from include/asm-generic/bug.h:22,
from arch/x86/include/asm/bug.h:87,
from include/linux/bug.h:5,
from include/linux/thread_info.h:13,
from include/linux/spinlock.h:60,
from include/linux/mmzone.h:8,
from include/linux/gfp.h:7,
from include/linux/slab.h:16,
from include/linux/resource_ext.h:11,
from include/linux/acpi.h:13:
sound/pci/hda/cs35l41_hda.c: In function 'cs35l41_load_tuning_params':
sound/pci/hda/cs35l41_hda.c:565:39: warning: '%s' directive argument is null [-Wformat-overflow=]
565 | dev_dbg(cs35l41->dev, "Missing Tuning Param File: %s: %d\n",
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/dynamic_debug.h:224:29: note: in definition of macro '__dynamic_func_call_cls'
224 | func(&id, ##__VA_ARGS__); \
| ^~~~~~~~~~~
include/linux/dynamic_debug.h:250:9: note: in expansion of macro '_dynamic_func_call_cls'
250 | _dynamic_func_call_cls(_DPRINTK_CLASS_DFLT, fmt, func, ##__VA_ARGS__)
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/dynamic_debug.h:273:9: note: in expansion of macro '_dynamic_func_call'
273 | _dynamic_func_call(fmt, __dynamic_dev_dbg, \
| ^~~~~~~~~~~~~~~~~~
include/linux/dev_printk.h:155:9: note: in expansion of macro 'dynamic_dev_dbg'
155 | dynamic_dev_dbg(dev, dev_fmt(fmt), ##__VA_ARGS__)
| ^~~~~~~~~~~~~~~
include/linux/dev_printk.h:155:30: note: in expansion of macro 'dev_fmt'
155 | dynamic_dev_dbg(dev, dev_fmt(fmt), ##__VA_ARGS__)
| ^~~~~~~
sound/pci/hda/cs35l41_hda.c:565:17: note: in expansion of macro 'dev_dbg'
565 | dev_dbg(cs35l41->dev, "Missing Tuning Param File: %s: %d\n",
| ^~~~~~~
sound/pci/hda/cs35l41_hda.c:565:67: note: format string is defined here
565 | dev_dbg(cs35l41->dev, "Missing Tuning Param File: %s: %d\n",
| ^~


vim +511 sound/pci/hda/cs35l41_hda.c

500
501 static int cs35l41_read_tuning_params(struct cs35l41_hda *cs35l41, const struct firmware *firmware)
502 {
503 struct cs35l41_tuning_params *params;
504 unsigned int offset = 0;
505 unsigned int end;
506 int i;
507
508 params = (void *)&firmware->data[0];
509
510 if (le32_to_cpu(params->size) != firmware->size) {
> 511 dev_err(cs35l41->dev, "Wrong Size for Tuning Param file. Expected %d got %ld\n",
512 le32_to_cpu(params->size), firmware->size);
513 return -EINVAL;
514 }
515
516 if (le32_to_cpu(params->version) != 1) {
517 dev_err(cs35l41->dev, "Unsupported Tuning Param Version: %d\n",
518 le32_to_cpu(params->version));
519 return -EINVAL;
520 }
521
522 if (le32_to_cpu(params->signature) != CS35L41_TUNING_SIG) {
523 dev_err(cs35l41->dev,
524 "Mismatched Signature for Tuning Param file. Expected %#x got %#x\n",
525 CS35L41_TUNING_SIG, le32_to_cpu(params->signature));
526 return -EINVAL;
527 }
528
529 end = firmware->size - sizeof(struct cs35l41_tuning_params);
530
531 for (i = 0; i < le32_to_cpu(params->num_entries); i++) {
532 struct cs35l41_tuning_param *param;
533
534 if ((offset >= end) || ((offset + sizeof(struct cs35l41_tuning_param_hdr)) >= end))
535 return -EFAULT;
536
537 param = (void *)&params->data[offset];
538 offset += le32_to_cpu(param->hdr.size);
539
540 if (offset > end)
541 return -EFAULT;
542
543 switch (le32_to_cpu(param->hdr.type)) {
544 case TUNING_PARAM_GAIN:
545 cs35l41->tuning_gain = le32_to_cpu(param->gain);
546 dev_dbg(cs35l41->dev, "Applying Gain: %d\n", cs35l41->tuning_gain);
547 break;
548 default:
549 break;
550 }
551 }
552
553 return 0;
554 }
555

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