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
next prev parent reply other threads:[~2026-04-14 12:56 UTC|newest]
Thread overview: 5+ 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]
2026-04-20 13:06 ` Jonathan Cameron
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 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.