From: Daniel Mack <daniel@caiaq.de>
To: Tobias Schneider <tobsnyder@gmx.de>
Cc: alsa-devel@alsa-project.org
Subject: Re: ALSA Control Questions (atomicity, error handling)
Date: Fri, 4 Dec 2009 12:34:34 +0100 [thread overview]
Message-ID: <20091204113434.GR14091@buzzloop.caiaq.de> (raw)
In-Reply-To: <4B18D6DA.6070809@gmx.de>
On Fri, Dec 04, 2009 at 10:31:06AM +0100, Tobias Schneider wrote:
> (for the interested ones, here is the code..)
One more thing: in case you intend to bring your code mainline, please
run scripts/checkpatch.pl on the patches before you submit. The sniplet
you posted has a number of style issues that should be fixed. In
particular, pay attention to indentation, comment style and parenthesis
positions - checkpatch.pl will help pointing out most if them.
Daniel
> static int snd_mychip_output_set_put(struct snd_kcontrol *kcontrol,
> struct snd_ctl_elem_value *ucontrol)
> {
> struct snd_mychip *mychip = snd_kcontrol_chip(kcontrol);
> int addr = kcontrol->private_value;
> short change = 0;
>
> spin_lock_irq(&mychip->mixer_lock);
> if (ucontrol->value.integer.value[0] != mychip->output_set[addr]) {
> if (dsp_setoutput(addr+1, ucontrol->value.integer.value[0]) >= 0)
> {
> mychip->output_set[addr] = ucontrol->value.integer.value[0];
> change = 1;
> }
> else // error sending signal
> {
> change = -EBUSY; // device or resource busy
> }
> }
> spin_unlock_irq(&mychip->mixer_lock);
> return change;
> }
>
> later on in the called function...
> // wait for reply via semaphore
> while(!end)
> {
> if (down_interruptible(&dsp_reply_sema)==-EINTR) // HERE WE GET
> BUG: scheduling while atomic: amixer/0x00000001/430 ...
> // waked by signal (terminate), leave thread
> printk(INFO "reply: catched signal\n");
> end=1;
> break;
> } printk(INFO "dsp_reply signaled (saved status =
> %i)\n",stDspReply.status);
> end=1;
> ...
> }
next prev parent reply other threads:[~2009-12-04 11:34 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-12-03 18:30 ALSA Control Questions Tobias Schneider
2009-12-03 19:50 ` Daniel Mack
2009-12-04 9:31 ` ALSA Control Questions (atomicity, error handling) Tobias Schneider
2009-12-04 11:27 ` Daniel Mack
2009-12-04 11:34 ` Daniel Mack [this message]
2009-12-04 12:02 ` Tobias Schneider
2009-12-04 12:06 ` Daniel Mack
2009-12-04 12:33 ` Clemens Ladisch
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=20091204113434.GR14091@buzzloop.caiaq.de \
--to=daniel@caiaq.de \
--cc=alsa-devel@alsa-project.org \
--cc=tobsnyder@gmx.de \
/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.