Dear uClinux Developers/Users,
I developed a linux character device driver in order to access an
external memory chip sitting on the flexbus. The data transfers are
done via the Multichannel DMA Controller.
From time to time (it's not really deterministic) my board hangs up.
Via BDM interface I can still access the target and it show's me the
following backtrace:
---snip---
#0 0x03035856 in cache_alloc_refill (cachep=0x31cf2c0, flags=208) at
list.h:172
#1 0x03035d38 in __kmalloc (size=52228800, flags=208) at mm/slab.c:3085
---snap---
First, I don't understand the size in the kmalloc() call. The size
gets definitely not provided by any of my own code. Second, what does
the cache_alloc_refill() call mean? I have the feeling that it might
have something to do with memory fragmentation as I am allocating
quite a lot of DMA buffers dynamically. However, the buffers are
always multiples of one specific size so I guess this shouldn't be a
problem.
I am working with uClinux-dist-20070130 (linux-2.6.19-uc0) on a custom
board featuring an MCF5484 Coldfire processor.
Thanks for any comments on this,
Markus
_______________________________________________
uClinux-dev mailing list
[email protected]
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by [email protected]
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev