[alsa-devel] es1938 - patch trying to improve capture hw pointer reads

Takashi Iwai tiwai at suse.de
Thu Jan 24 12:47:46 CET 2008


At Wed, 23 Jan 2008 01:35:12 +0100,
Hermann Lauer wrote:
> 
> Hello,
> 
> with the Solo1 (es1938) I got a lot of xrun's during capture on my machine. Tracing
> that down it seems to be comming from reading ocassionaly bad hw pointers from the chip. Appended
> is a patch against linux-2.6.23.12 which uses more checking to avoid that false pointer reads.
> 
> Failed reads are giving back the last good value read instead of spinning in
> a tight loop, which seems more appropriate to me in an interrupt. I think I saw
> this trick used in another driver.
> 
> On my machine xruns seems to be gone with that patch.

Thanks for the patch.
The change look OK to me.  Another idea would be to use DMAADDR only
when DMACOUNT goes mad.  But the back-off to the last pointer is
propbably a safer solution.

The patch is, however, unable to apply as is because of coding style
problems.  Try $LINUXKERNEL/scripts/checkpatch.pl, fix what are
suggested there, and repost the patch together with your sign-off.


Takashi


More information about the Alsa-devel mailing list