This is a problem I have already worked around, though I don't
understand all of the issues so this might break something else (I have
a lot of other sound using programs, however, and they all seem to work
fine with this patch).
Change the following code in linux/drivers/sound/audio.c:
near line 733:
if (dmap->mapping_flags & DMA_MAP_MAPPED)
return -EINVAL;
change to:
if (dmap->mapping_flags & DMA_MAP_MAPPED) {
printk( KERN_WARNING "GETOSPACE: DMA_MAP_MAPPED set\n");
/* return -EINVAL; */
}
The printing of the kernel warning is of course, optional, but I am
doing that just in case I find a program that breaks when this behavior
is engaged.
There was no such case in GETOSPACE in the older Linux kernels (2.0.xx)
but since roughly 2.1.8x or so I believe I have had to work around
this. Also you may find module problems with sound if you have a SB
card in new kernels. I have a P.O.S. (TM) MAD16 card however so I don't
have any problems, besides the usual kmalloc request failures every so
often for the 64k sound buffer. I think the hardcore kernel guys are
already dealing with the kernel memory fragmentation issue however.
Jason
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu