From: James Courtier-Dutton <James@superbug.demon.co.uk>
To: Jaroslav Kysela <perex@suse.cz>
Cc: alsa-devel@lists.sourceforge.net
Subject: Re: Strange err=25 result.
Date: Thu, 15 Jan 2004 00:50:04 +0000 [thread overview]
Message-ID: <4005E3BC.4060504@superbug.demon.co.uk> (raw)
In-Reply-To: <Pine.LNX.4.58.0401141511120.1877@pnote.perex-int.cz>
Jaroslav Kysela wrote:
> On Wed, 14 Jan 2004, James Courtier-Dutton wrote:
>
>
>>Some debug output from calling snd_pcm_wait() when a USB device is
>>unplugged.
>>
>>(pcm_hw.c from /alsa-lib/src/pcm/pcm_hw.c)
>>file=pcm_hw.c:406 function=snd_pcm_hw_status err=25
>>pcm_hw.c: snd_pcm_hw_status() SNDRV_PCM_IOCTL_STATUS failed.
>>
>>According to errno.h,
>>#define ENOTTY 25 /* Not a typewriter */
>>
>>I would think that the following would be a better err result.
>>#define ENODEV 19 /* No such device */
>>or even
>>#define EPIPE 32 /* Broken pipe */
>>
>>I have looked through alsa-lib and alsa-kernel and cannot find any place
>>in the code that sets errno to 25!
>>
>>Can anybody help?
>
>
> Consult the toplevel filesystem routines. In case when the device is
> disconnected, all i/o (filesystem operation) calls are redirected to empty
> structure, so the Linux kernel filesystem code probably returns ENOTTY
> errors when no ioctl/read/write callbacks are associated to the device.
>
> Jaroslav
Thank you, that makes sense. :-)
Also, what should
snd_pcm_wait()
and
snd_pcm_state()
return if the USB device is unplugged.
At the moment, snd_pcm_wait() just hangs around until the timeout and
returns errno -5
and snd_pcm_state() still returns state=3 which is SND_PCM_STATE_RUNNING
I would hardly say the the card is still in "RUNNING" state if you
physically remove the card from the system!
I would prefer snd_pcm_wait() to imeadiately exit with an errno, and
snd_pcm_state() to return a new state of "SND_PCM_STATE_DISCONNECTED" or
similar.
Can I do what I want with snd_pcm_wait or not?
Cheers
James
-------------------------------------------------------
This SF.net email is sponsored by: Perforce Software.
Perforce is the Fast Software Configuration Management System offering
advanced branching capabilities and atomic changes on 50+ platforms.
Free Eval! http://www.perforce.com/perforce/loadprog.html
prev parent reply other threads:[~2004-01-15 0:50 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-01-14 14:09 Strange err=25 result James Courtier-Dutton
2004-01-14 14:12 ` Jaroslav Kysela
2004-01-15 0:50 ` James Courtier-Dutton [this message]
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=4005E3BC.4060504@superbug.demon.co.uk \
--to=james@superbug.demon.co.uk \
--cc=alsa-devel@lists.sourceforge.net \
--cc=perex@suse.cz \
/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.