All of lore.kernel.org
 help / color / mirror / Atom feed
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

      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.