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 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.