public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* sound: -EPERM on first mplayer invocation
@ 2009-08-02 21:36 Denys Vlasenko
  2009-08-03  6:55 ` Takashi Iwai
  0 siblings, 1 reply; 9+ messages in thread
From: Denys Vlasenko @ 2009-08-02 21:36 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: linux-kernel

Hi,

For a long time I observe the following nuisance:
when I run mplayer for the very first time after boot,
I can't adjust the volume. mplayer spews this to stderr:

alsa-control: error setting left channel, Operation not permitted

This happens even if I login as root and run mplayer as root.

I tracked it down to snd_ctl_elem_write in sound/core/control.c

static int snd_ctl_elem_write(struct snd_card *card, struct snd_ctl_file *file,
                              struct snd_ctl_elem_value *control)
{
        struct snd_kcontrol *kctl;
        struct snd_kcontrol_volatile *vd;
        unsigned int index_offset;
        int result;

        down_read(&card->controls_rwsem);
        kctl = snd_ctl_find_id(card, &control->id);
        if (kctl == NULL) {
                result = -ENOENT;
        } else {
                index_offset = snd_ctl_get_ioff(kctl, &control->id);
                vd = &kctl->vd[index_offset];
                if (!(vd->access & SNDRV_CTL_ELEM_ACCESS_WRITE) ||
                    kctl->put == NULL ||
                    (file && vd->owner && vd->owner != file)) {
 printk("EPERM:\n");
 printk("vd->access & SNDRV_CTL_ELEM_ACCESS_WRITE:%x\n", vd->access & SNDRV_CTL_ELEM_ACCESS_WRITE);
 printk("kctl->put:%p\n", kctl->put);
 printk("file:%p vd->owner:%p\n", file, vd->owner);
                        result = -EPERM;
                } else {

The above printk triggers and prints:

EPERM:
vd->access & SNDRV_CTL_ELEM_ACCESS_WRITE:2
kctl->put:ffffffffa009e8de
file:ffff88007c56a5c0 vd->owner:ffff88007bc34740

Thus, vd->owner != file.

As I said, it only happens on very first run of mplayer,
and it isn't a recent change, I think I saw it at least
for one year with different kernels.

Takashi, any idea what might be happening here?
How can I help you more with tracking it down?
-- 
vda

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2009-08-05 21:59 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-08-02 21:36 sound: -EPERM on first mplayer invocation Denys Vlasenko
2009-08-03  6:55 ` Takashi Iwai
2009-08-04  9:01   ` Denys Vlasenko
2009-08-04  9:16     ` Takashi Iwai
2009-08-05  2:32       ` Denys Vlasenko
2009-08-05  5:37         ` Takashi Iwai
2009-08-05  5:41           ` Takashi Iwai
2009-08-05  8:50             ` Clemens Ladisch
2009-08-05 22:00             ` Denys Vlasenko

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox