On Fri, 03.04.09 09:20, Daniel Mack (daniel@caiaq.de) wrote:
Unfortunately, driver may use more complex scenarios like:
- some hardware requires additional firmware - in this case devices might be created, but they are not useable until firmware is loaded
- dynamic device creation at runtime - for example we have an experimental HDA driver configuration code which might change the arrangement of PCM devices on request from the user space
I would suggest to wait awhile with some small timeout (0.5 sec?) for all devices to get the usual static arrangement working and handle extra dynamic cases, too.
Wouldn't the real fix be to make sure that the event from hal/udev happens after all the initialization has finished, i.e. the device got its firmware, all connected layers finished their work etc? Before all that, the audio device is not really available, right?
But still, we'd need some kind of 'end marker' to know when all devices are set up properly. Just delaying the device creation events and then triggering them all at once doesn't really fix the entire issue.
Lennart