bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GNU/Hurd sound system


From: Richard Braun
Subject: Re: GNU/Hurd sound system
Date: Sun, 27 Aug 2006 20:34:21 +0200
User-agent: Mutt/1.5.9i

Hello,

I'm currently working on integrating one driver into GNU Mach. I think
it's almost done but I have troubles with low level stuff I'm not
familiar with. device_open() and device_close() work correctly (I
can devprobe dsp0 as many times I want without any crash), but
device_write() gives no sound and crashes the kernel. The crash can
always be reproduced, but there are two cases :

First case, small amount of data to write: the crash is in drain_dac(),
which is called by ess_release(), which is called by device_deallocate(),
when the ref count reaches 0 (both device_write() and device_close()
return).

Second case: small amount of data to write; the crash is within ess_write()
(the test driver is a slightly modified maestro3).

The function ess_write() calls copy_from_user(), so I didn't map anything
in kernel space and gave the buffer address as it is in the task user space
directly to ess_write(), but I'm not sure this is right. I don't see many
other alternatives that would leave the driver unmodified though.

Source code is available at my CVS repository [1], in the linux/sound
directory (linux/sound/glue/sound.c is the main glue code source file).

Thanks for any help.

-- 
Richard Braun

[1] http://cvs.sceen.net/index.cgi/gnumach/

Attachment: signature.asc
Description: Digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]