From: kernel test robot <lkp@intel.com>
To: oe-kbuild@lists.linux.dev
Cc: lkp@intel.com, Dan Carpenter <error27@gmail.com>
Subject: sound/pci/rme96.c:1011 snd_rme96_playback_hw_params() warn: inconsistent returns '&rme96->lock'.
Date: Thu, 09 Jul 2026 20:14:04 +0800 [thread overview]
Message-ID: <202607092001.07Uryu7u-lkp@intel.com> (raw)
BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
CC: linux-kernel@vger.kernel.org
TO: Takashi Iwai <tiwai@suse.de>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 0e35b9b6ec0ffcc5e23cbdec09f5c622ad532b53
commit: d3424b8bf78593e1751cfa19628aa0008d2e08ce ALSA: rme96: Use guard() for spin locks
date: 10 months ago
:::::: branch date: 2 days ago
:::::: commit date: 10 months ago
config: alpha-randconfig-r073-20260709 (https://download.01.org/0day-ci/archive/20260709/202607092001.07Uryu7u-lkp@intel.com/config)
compiler: alpha-linux-gcc (GCC) 8.5.0
smatch: v0.5.0-9185-gbcc58b9c
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
| Fixes: d3424b8bf785 ("ALSA: rme96: Use guard() for spin locks")
| Reported-by: kernel test robot <lkp@intel.com>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Closes: https://lore.kernel.org/r/202607092001.07Uryu7u-lkp@intel.com/
smatch warnings:
sound/pci/rme96.c:1011 snd_rme96_playback_hw_params() warn: inconsistent returns '&rme96->lock'.
sound/pci/rme96.c:1011 snd_rme96_playback_hw_params() warn: inconsistent returns 'irq'.
vim +1011 sound/pci/rme96.c
^1da177e4c3f415 Linus Torvalds 2005-04-16 952
^1da177e4c3f415 Linus Torvalds 2005-04-16 953 static int
a3aefd883dc8c17 Takashi Iwai 2005-11-17 954 snd_rme96_playback_hw_params(struct snd_pcm_substream *substream,
a3aefd883dc8c17 Takashi Iwai 2005-11-17 955 struct snd_pcm_hw_params *params)
^1da177e4c3f415 Linus Torvalds 2005-04-16 956 {
a3aefd883dc8c17 Takashi Iwai 2005-11-17 957 struct rme96 *rme96 = snd_pcm_substream_chip(substream);
a3aefd883dc8c17 Takashi Iwai 2005-11-17 958 struct snd_pcm_runtime *runtime = substream->runtime;
^1da177e4c3f415 Linus Torvalds 2005-04-16 959 int err, rate, dummy;
a74a821624c0c75 Takashi Iwai 2015-12-04 960 bool apply_dac_volume = false;
^1da177e4c3f415 Linus Torvalds 2005-04-16 961
4d23359b7ec8b03 Clemens Ladisch 2005-09-05 962 runtime->dma_area = (void __force *)(rme96->iobase +
4d23359b7ec8b03 Clemens Ladisch 2005-09-05 963 RME96_IO_PLAY_BUFFER);
^1da177e4c3f415 Linus Torvalds 2005-04-16 964 runtime->dma_addr = rme96->port + RME96_IO_PLAY_BUFFER;
^1da177e4c3f415 Linus Torvalds 2005-04-16 965 runtime->dma_bytes = RME96_BUFFER_SIZE;
^1da177e4c3f415 Linus Torvalds 2005-04-16 966
d3424b8bf78593e Takashi Iwai 2025-08-29 967 scoped_guard(spinlock_irq, &rme96->lock) {
da8eedb169712c8 Takashi Iwai 2021-06-08 968 rate = 0;
^1da177e4c3f415 Linus Torvalds 2005-04-16 969 if (!(rme96->wcreg & RME96_WCR_MASTER) &&
da8eedb169712c8 Takashi Iwai 2021-06-08 970 snd_rme96_getinputtype(rme96) != RME96_INPUT_ANALOG)
da8eedb169712c8 Takashi Iwai 2021-06-08 971 rate = snd_rme96_capture_getrate(rme96, &dummy);
da8eedb169712c8 Takashi Iwai 2021-06-08 972 if (rate > 0) {
^1da177e4c3f415 Linus Torvalds 2005-04-16 973 /* slave clock */
d3424b8bf78593e Takashi Iwai 2025-08-29 974 if ((int)params_rate(params) != rate)
d3424b8bf78593e Takashi Iwai 2025-08-29 975 return -EIO;
a74a821624c0c75 Takashi Iwai 2015-12-04 976 } else {
a74a821624c0c75 Takashi Iwai 2015-12-04 977 err = snd_rme96_playback_setrate(rme96, params_rate(params));
a74a821624c0c75 Takashi Iwai 2015-12-04 978 if (err < 0)
d3424b8bf78593e Takashi Iwai 2025-08-29 979 return err;
a74a821624c0c75 Takashi Iwai 2015-12-04 980 apply_dac_volume = err > 0; /* need to restore volume later? */
^1da177e4c3f415 Linus Torvalds 2005-04-16 981 }
a74a821624c0c75 Takashi Iwai 2015-12-04 982
a74a821624c0c75 Takashi Iwai 2015-12-04 983 err = snd_rme96_playback_setformat(rme96, params_format(params));
a74a821624c0c75 Takashi Iwai 2015-12-04 984 if (err < 0)
a74a821624c0c75 Takashi Iwai 2015-12-04 985 goto error;
^1da177e4c3f415 Linus Torvalds 2005-04-16 986 snd_rme96_setframelog(rme96, params_channels(params), 1);
^1da177e4c3f415 Linus Torvalds 2005-04-16 987 if (rme96->capture_periodsize != 0) {
^1da177e4c3f415 Linus Torvalds 2005-04-16 988 if (params_period_size(params) << rme96->playback_frlog !=
d3424b8bf78593e Takashi Iwai 2025-08-29 989 rme96->capture_periodsize) {
a74a821624c0c75 Takashi Iwai 2015-12-04 990 err = -EBUSY;
a74a821624c0c75 Takashi Iwai 2015-12-04 991 goto error;
^1da177e4c3f415 Linus Torvalds 2005-04-16 992 }
^1da177e4c3f415 Linus Torvalds 2005-04-16 993 }
^1da177e4c3f415 Linus Torvalds 2005-04-16 994 rme96->playback_periodsize =
^1da177e4c3f415 Linus Torvalds 2005-04-16 995 params_period_size(params) << rme96->playback_frlog;
^1da177e4c3f415 Linus Torvalds 2005-04-16 996 snd_rme96_set_period_properties(rme96, rme96->playback_periodsize);
^1da177e4c3f415 Linus Torvalds 2005-04-16 997 /* S/PDIF setup */
^1da177e4c3f415 Linus Torvalds 2005-04-16 998 if ((rme96->wcreg & RME96_WCR_ADAT) == 0) {
^1da177e4c3f415 Linus Torvalds 2005-04-16 999 rme96->wcreg &= ~(RME96_WCR_PRO | RME96_WCR_DOLBY | RME96_WCR_EMP);
^1da177e4c3f415 Linus Torvalds 2005-04-16 1000 writel(rme96->wcreg |= rme96->wcreg_spdif_stream, rme96->iobase + RME96_IO_CONTROL_REGISTER);
^1da177e4c3f415 Linus Torvalds 2005-04-16 1001 }
a74a821624c0c75 Takashi Iwai 2015-12-04 1002
a74a821624c0c75 Takashi Iwai 2015-12-04 1003 err = 0;
d3424b8bf78593e Takashi Iwai 2025-08-29 1004 }
a74a821624c0c75 Takashi Iwai 2015-12-04 1005 error:
a74a821624c0c75 Takashi Iwai 2015-12-04 1006 if (apply_dac_volume) {
a74a821624c0c75 Takashi Iwai 2015-12-04 1007 usleep_range(3000, 10000);
a74a821624c0c75 Takashi Iwai 2015-12-04 1008 snd_rme96_apply_dac_volume(rme96);
a74a821624c0c75 Takashi Iwai 2015-12-04 1009 }
^1da177e4c3f415 Linus Torvalds 2005-04-16 1010
a74a821624c0c75 Takashi Iwai 2015-12-04 @1011 return err;
^1da177e4c3f415 Linus Torvalds 2005-04-16 1012 }
^1da177e4c3f415 Linus Torvalds 2005-04-16 1013
:::::: The code at line 1011 was first introduced by commit
:::::: a74a821624c0c75388a193337babd17a8c02c740 ALSA: rme96: Fix unexpected volume reset after rate changes
:::::: TO: Takashi Iwai <tiwai@suse.de>
:::::: CC: Takashi Iwai <tiwai@suse.de>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next reply other threads:[~2026-07-09 12:15 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-09 12:14 kernel test robot [this message]
-- strict thread matches above, loose matches on Subject: below --
2026-03-24 14:54 sound/pci/rme96.c:1011 snd_rme96_playback_hw_params() warn: inconsistent returns '&rme96->lock' kernel test robot
2025-12-12 15:27 kernel test robot
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=202607092001.07Uryu7u-lkp@intel.com \
--to=lkp@intel.com \
--cc=error27@gmail.com \
--cc=oe-kbuild@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox