Yair K.
2011-02-26 21:06:26 UTC
Hi,
I noticed something in oss_remux.c. The dmabuf == NULL condition doesn't
release the mutex. I'm pretty sure that's wrong.
Another thing is that I can't see where in audigyls driver dmabuf would be
allocted, since there's no audigyls_alloc_buffer routine. So I don't think
remux would work there (a report says it simply hangs)... Any idea how this
should be filled in?
Yours,
Yair K.
diff -r 09a210f84f55 kernel/framework/remux/oss_remux.c
--- a/kernel/framework/remux/oss_remux.c Thu Jan 06 07:55:36 2011 +0200
+++ b/kernel/framework/remux/oss_remux.c Sat Feb 26 22:58:23 2011 +0200
@@ -363,6 +363,7 @@
if (dmap->dmabuf == NULL)
{
cmn_err (CE_WARN, "dmabuf==NULL\n");
+ MUTEX_EXIT_IRQRESTORE (devc->mutex, flags);
return OSS_ENOMEM;
}
I noticed something in oss_remux.c. The dmabuf == NULL condition doesn't
release the mutex. I'm pretty sure that's wrong.
Another thing is that I can't see where in audigyls driver dmabuf would be
allocted, since there's no audigyls_alloc_buffer routine. So I don't think
remux would work there (a report says it simply hangs)... Any idea how this
should be filled in?
Yours,
Yair K.
diff -r 09a210f84f55 kernel/framework/remux/oss_remux.c
--- a/kernel/framework/remux/oss_remux.c Thu Jan 06 07:55:36 2011 +0200
+++ b/kernel/framework/remux/oss_remux.c Sat Feb 26 22:58:23 2011 +0200
@@ -363,6 +363,7 @@
if (dmap->dmabuf == NULL)
{
cmn_err (CE_WARN, "dmabuf==NULL\n");
+ MUTEX_EXIT_IRQRESTORE (devc->mutex, flags);
return OSS_ENOMEM;
}