[alsa-devel] Event flood on USB disconnect

Arun Raghavan arun.raghavan at collabora.co.uk
Sat Oct 1 10:49:42 CEST 2011

Hi folks,
We're seeing a problem when disconnecting USB headsets in PulseAudio.
Steps to reproduce are basically: start PulseAudio, plug in USB device,
wait for it to suspend (pcm is closed but mixer is not), disconnect.
Fairly often, this results in PA getting killed because the polling
thread is realtime and exceeds its rlimit. The problem is not limited to
one machine or one USB headset, and I'm running kernel 3.0.4

I'm basically seeing a flood of events on the mixer pollfds (goes as
high as 4+ million of them). As far as I can tell, they all contain
(POLLERR|POLLNVAL). From a preliminary look at the code this seems to be
expected on a card disconnect, but I assume not so often.

I'm going to try to handle this by just stopping PA from listening on
these fds when I get a (POLLERR|POLLNVAL), but it seems to me that this
is a bug in the driver somewhere. Any ideas w.r.t. what might be going
wrong or where I should be looking to debug further?


More information about the Alsa-devel mailing list