Problems with fragment size:
tested with 0.5.12a under 2.2.19pre13, 2.4.14-lowlatency, 2.4.17

: the program alsa-lib-0.5.10b/test/latency.c does not work. 
snd_pcm_plugin_setup return block size of 8192 when for example 64 or 256 bytes
is requested. Because of this also tapiir-0.4.1 does not work.

For low delay VoIP audio application I need to get blocks of 64-256 bytes.

Above mentioned programs work with snd-card-cs4236, so this must be a driver
problem.

Is tha patch for full duplex on CS4281 addressing also this problem? Where this
patch has dissapeared?

The OOPS:

tested with 2.4.14-lowlatency, with HZ=2000. 
Loaded snd-card-cs4281, and OSS emulation.
Started krecord - recording seemed to be OK, but only some noise was
recorded. But the real problem occured when kmidi was started while krecord was
running. This bug is reproducible. Tests were done on Suse 6.3.

substream->runtime->private_data was null in snd_cs4281_playback_close

Linux version 2.4.14-ll-1 ([EMAIL PROTECTED]) (gcc version 2.95.2
20000220 (Debian GNU/Linux)) #2 Tue Nov 13 22:01:52 CET 2001


Unable to handle kernel NULL pointer dereference at virtual address 00000000
 printing eip:
ce84b7b7
*pde = 00000000
Oops: 0002
CPU:    0
EIP:    0010:[<ce84b7b7>]    Not tainted
EFLAGS: 00010283
eax: cae8bea0   ebx: cae8bea0   ecx: cc6b8800   edx: 00000000
esi: cc6b88a0   edi: 00000000   ebp: c91cbf00   esp: c8e51ddc
ds: 0018   es: 0018   ss: 0018
Process kmidi (pid: 419, stackpage=c8e51000)
Stack: c8e51e54 00000246 00000008 cc6b8800 c8d931a0 00000000 ce86f0b3 cc6b8600
       cae8bea0 c02c6340 c02c6380 fffffff5 c91cbf00 c8d931a0 00000000 c8ec5330
       c012341d c8ec5330 ce86f251 c91cbf00 00000001 c8e51e50 00000000 00000001
Call Trace: [<ce86f0b3>] [<c012341d>] [<ce86f251>] [<ce86f40c>] [<ce824d86>]
   [<ce81ed60>] [<c01356a4>] [<ce81e520>] [<ce8282e0>] [<c0135617>]
[<c012e115>] 
   [<c012d260>] [<c012d172>] [<c012d4a6>] [<c0106b63>]

Code: c7 02 00 00 00 00 50 e8 29 90 ff ff 31 c0 83 c4 10 83 c4 0c

ce84b000 
__insmod_snd-card-cs4281_O/lib/modules/2.4.14-ll-1/misc/snd-card-cs4281.o_M3BF19237_V132110
[snd-card-cs4281]
ce84b04c  __insmod_snd-card-cs4281_S.text_L5871  [snd-card-cs4281]
ce84c740  __insmod_snd-card-cs4281_S.rodata_L1040  [snd-card-cs4281]

The code was:

<snd_cs4281_playback_close>:
snd_cs4281_playback_close():
            8b 44 24 08             movl   0x8(%esp,1),%eax
            8b 50 30                movl   0x30(%eax),%edx
            8b 92 bc 01 00 00       movl   0x1bc(%edx),%edx
            c7 02 00 00 00 00       movl   $0x0,(%edx)
            50                      pushl  %eax
            e8 fc ff ff ff          call   731 <snd_cs4281_playback_close+0x15>
            31 c0                   xorl   %eax,%eax

static int snd_cs4281_playback_close(void *private_data,
                                     snd_pcm_subchn_t *substream)
{
        cs4281_dma_t *dma = (cs4281_dma_t *)substream->runtime->private_data;

        dma->substream = NULL;
        snd_pcm_dma_free(substream);
        return 0;
}



_______________________________________________
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel

Reply via email to