From: Dan Carpenter <dan.carpenter@oracle.com>
To: KCHSU0@nuvoton.com
Cc: alsa-devel@alsa-project.org
Subject: Re: ASoC: nau8825: cross talk suppression measurement function
Date: Wed, 15 Jun 2016 15:33:52 +0300 [thread overview]
Message-ID: <20160615123352.GA7136@mwanda> (raw)
Hello John Hsu,
The patch b50455fab459: "ASoC: nau8825: cross talk suppression
measurement function" from Jun 7, 2016, leads to the following static
checker warning:
sound/soc/codecs/nau8825.c:265 nau8825_sema_acquire()
warn: 'sem:&nau8825->xtalk_sem' is sometimes locked here and sometimes unlocked.
sound/soc/codecs/nau8825.c
240 /**
241 * nau8825_sema_acquire - acquire the semaphore of nau88l25
242 * @nau8825: component to register the codec private data with
243 * @timeout: how long in jiffies to wait before failure or zero to wait
244 * until release
245 *
246 * Attempts to acquire the semaphore with number of jiffies. If no more
247 * tasks are allowed to acquire the semaphore, calling this function will
248 * put the task to sleep. If the semaphore is not released within the
249 * specified number of jiffies, this function returns.
250 * Acquires the semaphore without jiffies. If no more tasks are allowed
251 * to acquire the semaphore, calling this function will put the task to
252 * sleep until the semaphore is released.
253 * It returns if the semaphore was acquired.
Sometimes it returns without the lock held.
254 */
255 static void nau8825_sema_acquire(struct nau8825 *nau8825, long timeout)
256 {
257 int ret;
258
259 if (timeout)
260 ret = down_timeout(&nau8825->xtalk_sem, timeout);
261 else
262 ret = down_interruptible(&nau8825->xtalk_sem);
263
264 if (ret < 0)
265 dev_warn(nau8825->dev, "Acquire semaphone fail\n");
This function makes me sad. Warn and corrupt is my least favourite
anti-pattern.
266 }
regards,
dan carpenter
next reply other threads:[~2016-06-15 12:34 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-06-15 12:33 Dan Carpenter [this message]
2016-06-20 1:51 ` ASoC: nau8825: cross talk suppression measurement function John Hsu
2016-06-20 10:00 ` Dan Carpenter
2016-06-22 3:09 ` John Hsu
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=20160615123352.GA7136@mwanda \
--to=dan.carpenter@oracle.com \
--cc=KCHSU0@nuvoton.com \
--cc=alsa-devel@alsa-project.org \
/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