Index: alsa-kernel/pci/emu10k1/emupcm.c =================================================================== RCS file: /cvsroot/alsa/alsa-kernel/pci/emu10k1/emupcm.c,v retrieving revision 1.29 diff -u -r1.29 emupcm.c --- alsa-kernel/pci/emu10k1/emupcm.c 1 Jul 2004 09:22:16 -0000 1.29 +++ alsa-kernel/pci/emu10k1/emupcm.c 8 Jul 2004 00:36:58 -0000 @@ -669,7 +669,7 @@ if (!epcm->running) return 0; - ptr = snd_emu10k1_ptr_read(emu, CCCA, epcm->voices[0]->number) & 0x00ffffff; + ptr = snd_emu10k1_ptr_read(emu, CCCA, epcm->voices[0]->number) & CCCA_CURRADDR_MASK; #if 0 /* Perex's code */ ptr += runtime->buffer_size; ptr -= epcm->ccca_start_addr; @@ -700,7 +700,7 @@ udelay(50); // hack, it takes awhile until capture is started epcm->first_ptr = 0; } - ptr = snd_emu10k1_ptr_read(emu, epcm->capture_idx_reg, 0) & 0x0000ffff; + ptr = snd_emu10k1_ptr_read(emu, epcm->capture_idx_reg, 0) & ADCIDX_MASK; return bytes_to_frames(runtime, ptr); }