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?
Cheers, Arun