On 9/7/09, Takashi Iwai tiwai@suse.de wrote:
A small test case, preferably a short C program just to reproduce the problem would be really needed in such a case. It's very hard to guess what's going on and what is actually wrong in the driver only from your problem description, because of no obvious debug logs.
I can go one better... I have a fix. :)
I decided to go investigating myself and discovered that the cs46xx driver has a silly minimum period size declared of 1. Increasing this to 256 fixes the problem, though I haven't yet tested to see if lower values will work too. (I'll do this and regenerate the patch later.)
The patch, based on the latest stable kernel tree (2.6.30.5), is attached, though in case the mailing list strips attachments, it's also available at http://neo.theblob.org/cs46xx-fix.patch .
If I need to submit the patch in some other way when it comes to actually submitting the final thing, please let me know.
- Sophie.