From: kernel test robot <lkp@intel.com>
To: Advaith Neelacantan <advaith.neelacantan@gmail.com>,
Lars-Peter Clausen <lars@metafoo.de>
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev,
"Michael Hennerich" <Michael.Hennerich@analog.com>,
"Jonathan Cameron" <jic23@kernel.org>,
"David Lechner" <dlechner@baylibre.com>,
"Nuno Sá" <nuno.sa@analog.com>,
"Andy Shevchenko" <andy@kernel.org>,
"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
linux-iio@vger.kernel.org, linux-staging@lists.linux.dev,
linux-kernel@vger.kernel.org,
"Advaith Neelacantan" <advaith.neelacantan@gmail.com>
Subject: Re: [PATCH] staging: iio: frequency: ad9832: use guard(mutex) for locking
Date: Tue, 14 Apr 2026 20:55:41 +0800 [thread overview]
Message-ID: <202604142016.fnd3WPI1-lkp@intel.com> (raw)
In-Reply-To: <20260411072503.106621-2-advaith.neelacantan@gmail.com>
Hi Advaith,
kernel test robot noticed the following build errors:
[auto build test ERROR on staging/staging-testing]
url: https://github.com/intel-lab-lkp/linux/commits/Advaith-Neelacantan/staging-iio-frequency-ad9832-use-guard-mutex-for-locking/20260414-074602
base: staging/staging-testing
patch link: https://lore.kernel.org/r/20260411072503.106621-2-advaith.neelacantan%40gmail.com
patch subject: [PATCH] staging: iio: frequency: ad9832: use guard(mutex) for locking
config: i386-buildonly-randconfig-002-20260414 (https://download.01.org/0day-ci/archive/20260414/202604142016.fnd3WPI1-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/20260414/202604142016.fnd3WPI1-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/202604142016.fnd3WPI1-lkp@intel.com/
All errors (new ones prefixed by >>):
>> drivers/staging/iio/frequency/ad9832.c:182:3: error: cannot jump from this goto statement to its label
182 | goto error_ret;
| ^
drivers/staging/iio/frequency/ad9832.c:184:2: note: jump bypasses initialization of variable with __attribute__((cleanup))
184 | guard(mutex)(&st->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>:16:1: note: expanded from here
16 | 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>:22:1: note: expanded from here
22 | __UNIQUE_ID_unlock_451
| ^
drivers/staging/iio/frequency/ad9832.c:184:2: 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>:10:1: note: expanded from here
10 | __UNIQUE_ID_guard_450
| ^
1 error generated.
vim +182 drivers/staging/iio/frequency/ad9832.c
4a8e6c33e88b09a drivers/staging/iio/dds/ad9832.c Cliff Cai 2010-10-27 170
f1b07cdf6ba396d drivers/staging/iio/frequency/ad9832.c Federico Di Pierro 2014-06-29 171 static ssize_t ad9832_write(struct device *dev, struct device_attribute *attr,
f1b07cdf6ba396d drivers/staging/iio/frequency/ad9832.c Federico Di Pierro 2014-06-29 172 const char *buf, size_t len)
4a8e6c33e88b09a drivers/staging/iio/dds/ad9832.c Cliff Cai 2010-10-27 173 {
b671bb3bf0d0165 drivers/staging/iio/frequency/ad9832.c Lars-Peter Clausen 2012-05-12 174 struct iio_dev *indio_dev = dev_to_iio_dev(dev);
638e59fc8c867b4 drivers/staging/iio/dds/ad9832.c Jonathan Cameron 2011-10-06 175 struct ad9832_state *st = iio_priv(indio_dev);
ea707584bac187c drivers/staging/iio/dds/ad9832.c Michael Hennerich 2011-02-09 176 struct iio_dev_attr *this_attr = to_iio_dev_attr(attr);
4a8e6c33e88b09a drivers/staging/iio/dds/ad9832.c Cliff Cai 2010-10-27 177 int ret;
e5e26dd5bb740c3 drivers/staging/iio/frequency/ad9832.c Jingoo Han 2013-08-20 178 unsigned long val;
ea707584bac187c drivers/staging/iio/dds/ad9832.c Michael Hennerich 2011-02-09 179
e5e26dd5bb740c3 drivers/staging/iio/frequency/ad9832.c Jingoo Han 2013-08-20 180 ret = kstrtoul(buf, 10, &val);
4a8e6c33e88b09a drivers/staging/iio/dds/ad9832.c Cliff Cai 2010-10-27 181 if (ret)
4a8e6c33e88b09a drivers/staging/iio/dds/ad9832.c Cliff Cai 2010-10-27 @182 goto error_ret;
4a8e6c33e88b09a drivers/staging/iio/dds/ad9832.c Cliff Cai 2010-10-27 183
baf560e48a75741 drivers/staging/iio/frequency/ad9832.c Advaith Neelacantan 2026-04-11 184 guard(mutex)(&st->lock);
e15fbc91a4304a9 drivers/staging/iio/dds/ad9832.c Michael Hennerich 2011-10-25 185 switch ((u32)this_attr->address) {
ea707584bac187c drivers/staging/iio/dds/ad9832.c Michael Hennerich 2011-02-09 186 case AD9832_FREQ0HM:
ea707584bac187c drivers/staging/iio/dds/ad9832.c Michael Hennerich 2011-02-09 187 case AD9832_FREQ1HM:
ea707584bac187c drivers/staging/iio/dds/ad9832.c Michael Hennerich 2011-02-09 188 ret = ad9832_write_frequency(st, this_attr->address, val);
ea707584bac187c drivers/staging/iio/dds/ad9832.c Michael Hennerich 2011-02-09 189 break;
ea707584bac187c drivers/staging/iio/dds/ad9832.c Michael Hennerich 2011-02-09 190 case AD9832_PHASE0H:
ea707584bac187c drivers/staging/iio/dds/ad9832.c Michael Hennerich 2011-02-09 191 case AD9832_PHASE1H:
ea707584bac187c drivers/staging/iio/dds/ad9832.c Michael Hennerich 2011-02-09 192 case AD9832_PHASE2H:
ea707584bac187c drivers/staging/iio/dds/ad9832.c Michael Hennerich 2011-02-09 193 case AD9832_PHASE3H:
ea707584bac187c drivers/staging/iio/dds/ad9832.c Michael Hennerich 2011-02-09 194 ret = ad9832_write_phase(st, this_attr->address, val);
ea707584bac187c drivers/staging/iio/dds/ad9832.c Michael Hennerich 2011-02-09 195 break;
ea707584bac187c drivers/staging/iio/dds/ad9832.c Michael Hennerich 2011-02-09 196 case AD9832_PINCTRL_EN:
ea707584bac187c drivers/staging/iio/dds/ad9832.c Michael Hennerich 2011-02-09 197 st->ctrl_ss &= ~AD9832_SELSRC;
85c9e6d592e1c17 drivers/staging/iio/frequency/ad9832.c Siddharth Menon 2025-04-16 198 st->ctrl_ss |= FIELD_PREP(AD9832_SELSRC, val ? 0 : 1);
85c9e6d592e1c17 drivers/staging/iio/frequency/ad9832.c Siddharth Menon 2025-04-16 199
85c9e6d592e1c17 drivers/staging/iio/frequency/ad9832.c Siddharth Menon 2025-04-16 200 st->data = cpu_to_be16(FIELD_PREP(AD9832_CMD_MSK, AD9832_CMD_SYNCSELSRC) |
ea707584bac187c drivers/staging/iio/dds/ad9832.c Michael Hennerich 2011-02-09 201 st->ctrl_ss);
ea707584bac187c drivers/staging/iio/dds/ad9832.c Michael Hennerich 2011-02-09 202 ret = spi_sync(st->spi, &st->msg);
ea707584bac187c drivers/staging/iio/dds/ad9832.c Michael Hennerich 2011-02-09 203 break;
ea707584bac187c drivers/staging/iio/dds/ad9832.c Michael Hennerich 2011-02-09 204 case AD9832_FREQ_SYM:
85c9e6d592e1c17 drivers/staging/iio/frequency/ad9832.c Siddharth Menon 2025-04-16 205 if (val == 1 || val == 0) {
ea707584bac187c drivers/staging/iio/dds/ad9832.c Michael Hennerich 2011-02-09 206 st->ctrl_fp &= ~AD9832_FREQ;
85c9e6d592e1c17 drivers/staging/iio/frequency/ad9832.c Siddharth Menon 2025-04-16 207 st->ctrl_fp |= FIELD_PREP(AD9832_FREQ, val ? 1 : 0);
f1b07cdf6ba396d drivers/staging/iio/frequency/ad9832.c Federico Di Pierro 2014-06-29 208 } else {
ea707584bac187c drivers/staging/iio/dds/ad9832.c Michael Hennerich 2011-02-09 209 ret = -EINVAL;
ea707584bac187c drivers/staging/iio/dds/ad9832.c Michael Hennerich 2011-02-09 210 break;
ea707584bac187c drivers/staging/iio/dds/ad9832.c Michael Hennerich 2011-02-09 211 }
85c9e6d592e1c17 drivers/staging/iio/frequency/ad9832.c Siddharth Menon 2025-04-16 212 st->data = cpu_to_be16(FIELD_PREP(AD9832_CMD_MSK, AD9832_CMD_FPSELECT) |
ea707584bac187c drivers/staging/iio/dds/ad9832.c Michael Hennerich 2011-02-09 213 st->ctrl_fp);
ea707584bac187c drivers/staging/iio/dds/ad9832.c Michael Hennerich 2011-02-09 214 ret = spi_sync(st->spi, &st->msg);
ea707584bac187c drivers/staging/iio/dds/ad9832.c Michael Hennerich 2011-02-09 215 break;
ea707584bac187c drivers/staging/iio/dds/ad9832.c Michael Hennerich 2011-02-09 216 case AD9832_PHASE_SYM:
260974704ea4c01 drivers/staging/iio/frequency/ad9832.c Sachin Kamat 2014-03-07 217 if (val > 3) {
ea707584bac187c drivers/staging/iio/dds/ad9832.c Michael Hennerich 2011-02-09 218 ret = -EINVAL;
ea707584bac187c drivers/staging/iio/dds/ad9832.c Michael Hennerich 2011-02-09 219 break;
ea707584bac187c drivers/staging/iio/dds/ad9832.c Michael Hennerich 2011-02-09 220 }
ea707584bac187c drivers/staging/iio/dds/ad9832.c Michael Hennerich 2011-02-09 221
85c9e6d592e1c17 drivers/staging/iio/frequency/ad9832.c Siddharth Menon 2025-04-16 222 st->ctrl_fp &= ~AD9832_PHASE_MASK;
85c9e6d592e1c17 drivers/staging/iio/frequency/ad9832.c Siddharth Menon 2025-04-16 223 st->ctrl_fp |= FIELD_PREP(AD9832_PHASE_MASK, val);
ea707584bac187c drivers/staging/iio/dds/ad9832.c Michael Hennerich 2011-02-09 224
85c9e6d592e1c17 drivers/staging/iio/frequency/ad9832.c Siddharth Menon 2025-04-16 225 st->data = cpu_to_be16(FIELD_PREP(AD9832_CMD_MSK, AD9832_CMD_FPSELECT) |
ea707584bac187c drivers/staging/iio/dds/ad9832.c Michael Hennerich 2011-02-09 226 st->ctrl_fp);
ea707584bac187c drivers/staging/iio/dds/ad9832.c Michael Hennerich 2011-02-09 227 ret = spi_sync(st->spi, &st->msg);
ea707584bac187c drivers/staging/iio/dds/ad9832.c Michael Hennerich 2011-02-09 228 break;
ea707584bac187c drivers/staging/iio/dds/ad9832.c Michael Hennerich 2011-02-09 229 case AD9832_OUTPUT_EN:
ea707584bac187c drivers/staging/iio/dds/ad9832.c Michael Hennerich 2011-02-09 230 if (val)
85c9e6d592e1c17 drivers/staging/iio/frequency/ad9832.c Siddharth Menon 2025-04-16 231 st->ctrl_src &= ~(AD9832_RESET | AD9832_SLEEP | AD9832_CLR);
ea707584bac187c drivers/staging/iio/dds/ad9832.c Michael Hennerich 2011-02-09 232 else
85c9e6d592e1c17 drivers/staging/iio/frequency/ad9832.c Siddharth Menon 2025-04-16 233 st->ctrl_src |= FIELD_PREP(AD9832_RESET, 1);
ea707584bac187c drivers/staging/iio/dds/ad9832.c Michael Hennerich 2011-02-09 234
85c9e6d592e1c17 drivers/staging/iio/frequency/ad9832.c Siddharth Menon 2025-04-16 235 st->data = cpu_to_be16(FIELD_PREP(AD9832_CMD_MSK, AD9832_CMD_SLEEPRESCLR) |
ea707584bac187c drivers/staging/iio/dds/ad9832.c Michael Hennerich 2011-02-09 236 st->ctrl_src);
ea707584bac187c drivers/staging/iio/dds/ad9832.c Michael Hennerich 2011-02-09 237 ret = spi_sync(st->spi, &st->msg);
ea707584bac187c drivers/staging/iio/dds/ad9832.c Michael Hennerich 2011-02-09 238 break;
ea707584bac187c drivers/staging/iio/dds/ad9832.c Michael Hennerich 2011-02-09 239 default:
ea707584bac187c drivers/staging/iio/dds/ad9832.c Michael Hennerich 2011-02-09 240 ret = -ENODEV;
ea707584bac187c drivers/staging/iio/dds/ad9832.c Michael Hennerich 2011-02-09 241 }
ea707584bac187c drivers/staging/iio/dds/ad9832.c Michael Hennerich 2011-02-09 242
ea707584bac187c drivers/staging/iio/dds/ad9832.c Michael Hennerich 2011-02-09 243 error_ret:
4a8e6c33e88b09a drivers/staging/iio/dds/ad9832.c Cliff Cai 2010-10-27 244 return ret ? ret : len;
4a8e6c33e88b09a drivers/staging/iio/dds/ad9832.c Cliff Cai 2010-10-27 245 }
4a8e6c33e88b09a drivers/staging/iio/dds/ad9832.c Cliff Cai 2010-10-27 246
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
prev parent reply other threads:[~2026-04-14 12:56 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-11 7:25 [PATCH] staging: iio: frequency: ad9832: use guard(mutex) for locking Advaith Neelacantan
2026-04-11 8:09 ` Dan Carpenter
2026-04-11 8:53 ` Greg Kroah-Hartman
2026-04-14 12:55 ` 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=202604142016.fnd3WPI1-lkp@intel.com \
--to=lkp@intel.com \
--cc=Michael.Hennerich@analog.com \
--cc=advaith.neelacantan@gmail.com \
--cc=andy@kernel.org \
--cc=dlechner@baylibre.com \
--cc=gregkh@linuxfoundation.org \
--cc=jic23@kernel.org \
--cc=lars@metafoo.de \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-staging@lists.linux.dev \
--cc=llvm@lists.linux.dev \
--cc=nuno.sa@analog.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox