On Friday, June 29, 2001, at 01:19 AM, Yang, Neil L wrote: > Thanks for the info. > You mentioned that modern kernels should be allocating DMA-safe buffers > from > a region in RAM known to be safe from this bug. I'm actually getting > that > warning, but I'm using linux 2.4.5-rmk6-np1 kernel, on an > assabet/neponset-like board. Do you know where the kernel allocates > this > region, or how I could get around this problem? See drivers/sound/sa1100-uda1341.c for an example of using DMA-safe buffers. The relevant call is to consistent_alloc() with the GFP_DMA flag set; this causes the allocator to prefer pages from the DMA zone (which on the SA-1110 is allocated in the first few hundred pages of SDRAM; everything below 1MB in the bank for which the SA-1111 is wired to access is safe, and since this bank is usually 0, the low-memory pool does just what you want). When your kernel boots, it should list the page allocations for three zones, the first of which should be DMA. (I haven't looked at the SA-1111 USB drivers. I seem to recall that at one point, they were doing something a little bit awkward to get around this bug, like allocating 2MB of buffer space, but only using the safe subset of that. Whatever the driver is doing now, apparently it's not dodging the bullet; perhaps the maintainer will offer comment on why.) -jd _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: http://lists.sourceforge.net/lists/listinfo/linux-usb-devel