[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <806dafc20607220949y4ebbc88av99e0e689e1fd687e@mail.gmail.com>
Date: Sat, 22 Jul 2006 12:49:22 -0400
From: "Christopher Montgomery" <xiphmont@...il.com>
To: "Ian Stirling" <tandra@...ve.plus.com>
Cc: linux-kernel@...r.kernel.org
Subject: Re: [linux-usb-devel] USB snd-usb-audio wedges lsusb when unplugged while playing sound.
On 7/22/06, Ian Stirling <tandra@...ve.plus.com> wrote:
> Config/... as my earlier message on USB - though with the bandwidth
> enforcement
> turned off so it actually plays sound, when plugged into the USB1 port.
>
> 2.6.17.
>
> Basically - playing sound with
> mplayer -ao alsa:device=hw=1 or whatever - and then unplugging the
> soundcard completely wedges lsusb/usb configuration, until the mplayer
> process is killed.
This sounds like the well known EPIPE problem in usb-audio and one I
intended to fix after dealing with the ehci scheduler.
It boils down to this: although the low-level usb code is properly
reporting and distinguishing error conditions, usb-audio translates
just about everything that goes wrong into 'EPIPE'. Because an
application has no way to distinguish temporary from permanent errors
(and the coding docs specify that the app resubmit), it immediately
retries and gets another EPIPE. This infinite retry loop places
enough system load on the machine that it may well even stop pinging.
Although the *machine* is not wedged, if this happens in a realtime
thread (eg, jack using a usb-audio device), it may well be hosed
enough to become unrecoverable.
Monty
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists