98bc874647
- SWAPLR quirk for (unknown, luckily it is mine) broken uaudio stick. Fixing by rewiring is impossible without damaging it. Luckily, we can fix it using "other" methods :) . - Add uaudio_get_vendor(), _product() and _release() in uaudio.c (currently used by uaudio_pcm quirk). - Implement CHANNEL_SETFRAGMENTS(). - Drop channel locking in few places where it is about to sleep somewhere. This should help eliminating illegal locking acquisition where the current thread is about to sleep, and also few deadlock cases. Dropping it right here is quite safe since it is already protected by CHN_F_BUSY flag and other threads won't bother to touch it. Solving other illegal locking issues are quite tricky without converting most usbd_do_request() calls to its equivalent _async() calls, which I intend to do it later after getting full test report from other people with different uaudio hardwares. - Fix memory leak issues during detach. This seems common to any drivers (notably emu10kx, csapcm?) with bridge functions. |
||
---|---|---|
.. | ||
uaudio_pcm.c | ||
uaudio.c | ||
uaudio.h | ||
uaudioreg.h |