diff -rdu cx88_orig/cx88-alsa.c cx88/cx88-alsa.c --- cx88_orig/cx88-alsa.c 2006-09-19 20:42:06.000000000 -0700 +++ cx88/cx88-alsa.c 2007-02-08 19:00:34.625182682 -0800 @@ -507,7 +507,9 @@ */ static snd_pcm_uframes_t snd_cx88_pointer(struct snd_pcm_substream *substream) { + snd_pcm_uframes_t retval; snd_cx88_card_t *chip = snd_pcm_substream_chip(substream); + struct cx88_core *core=chip->core; struct snd_pcm_runtime *runtime = substream->runtime; if (chip->read_count) { @@ -518,8 +520,11 @@ } dprintk(2, "Pointer time, will return %li, read %li\n",chip->read_offset,chip->read_count); - return bytes_to_frames(runtime, chip->read_offset); - +/* The cx_set line is part of an attempt to work around issue 1277 in MythTV */ +/* suggested by mrussotto@speakeasy.net */ + cx_set( MO_PCI_INTMSK , 0x02 ); + retval = bytes_to_frames(runtime, chip->read_offset); + return retval; } /* Only in cx88: cx88-alsa.c.orig diff -rdu cx88_orig/cx88-tvaudio.c cx88/cx88-tvaudio.c --- cx88_orig/cx88-tvaudio.c 2007-01-07 10:18:26.017825000 -0800 +++ cx88/cx88-tvaudio.c 2007-02-08 16:11:25.409488678 -0800 @@ -139,11 +139,11 @@ #ifndef CONFIG_VIDEO_CX88_ALSA /* restart dma; This avoids buzz in NICAM and is good in others */ - cx88_stop_audio_dma(core); + /* attempt to work around issue 1277 in MythTV cx88_stop_audio_dma(core);*/ #endif cx_write(AUD_RATE_THRES_DMD, 0x000000C0); #ifndef CONFIG_VIDEO_CX88_ALSA - cx88_start_audio_dma(core); + /* attempt to work around issue 1277 in MythTV cx88_start_audio_dma(core);*/ #endif if (cx88_boards[core->board].blackbird) { Only in cx88: cx88-tvaudio.c.orig