Re: Linux-1.3.34

Troy J Ryan (tjryan@crocker.com)
Thu, 19 Oct 1995 07:38:39 -0400 (EDT)


>
> If some driver still doesn't work, please do get in touch with me..
>
> The sound driver in particular got updated: the sound driver in 1.3.34
> is the alpha-release of Hannus driver which works much better as a
> module and generally has some other nifty updates. I haven't been able
> to actually _test_ it, but it should be ok.
>
>
> Linus
>
>
Hi,

1.3.34 and 1.3.35 both break my SoundBlaster 16 card. The driver
initializes fine, but when something like Doom tries to access /dev/dsp,
it times out.

Sound initialization started
Snd 2 <SoundBlaster 16 4.13> at 0x220 irq 5 drq 1
Snd 6 <SoundBlaster 16 4.13> at 0x220 irq 5 drq 5
Snd 7 <SoundBlaster 16 MPU-401> at 0x330 irq 5 drq 0

Sound initialization complete

which yields in syslog

Sound: DMA (output) timed out - IRQ/DRQ config error?

and here's a trace from the doom sndserver

open("/dev/dsp", O_WRONLY) = 4
ioctl(4, 0xc004500a, 0xbffffba8) = 0
ioctl(4, 0x5000, 0) = 0
ioctl(4, 0xc0045002, 0xbffffba8) = 0
ioctl(4, 0xc0045003, 0xbffffba8) = 0
ioctl(4, 0x8004500b, 0xbffffba8) = 0
ioctl(4, 0xc0045005, 0xbffffba8) = 0
write(2, "ready\n", 6ready
) = 6
select(256, [0], NULL, NULL, {0, 0}) = 0 (Timeout)
write(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 2048) = 2048
select(256, [0], NULL, NULL, {0, 0}) = 0 (Timeout)
write(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 2048) = 2048
select(256, [0], NULL, NULL, {0, 0}) = 0 (Timeout)
write(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 2048) = -1 EIO (I/O error)
select(256, [0], NULL, NULL, {0, 0}) = 0 (Timeout)
write(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 2048

there's a new ioctl() in the driver for SNDCTL_DSP_SETFRAGMENT which
apparently needs to be called once between between open() and
read()/write() or ioctl(SNDCTL_DSP_GETBLCKSIZE). Maybe it has something
to do with it.

Troy