hello everybody, nice to see you I'm working on an embeded solution on arm 920, which use an ov9640 camera the driver I got originaly was a montavista one under GPL, although there is not much left of the original (buggy) code the camera hasn't internal memory and since we use official kernel v4l2api we want to provide a buffering mechanism I saw that the only way to do that is to use the no_page method of vma is this the only way to remap memory obtained through __get_dma_page()? when I allocate the buffer I reserve the memory to prevent swapping using SetPageReserved() (I know this isn't be right way but if I use LockPage() I get one of the issue below) I perform my no_page work, evrything is fine, the perfs are here (60fps on a raw frame and 30 over a [userspace] rotated one) that's cool on close of the vma, I preform the step in reverse order : delock the memory using ClearPageReserved() and free the pages I putted some debug statement and the steps are strictly symetrical, the flags set are cleared.... so from my point of view everything is ok BUT launching my test application and doing a free on the shell several time shows me that there is a memory leak.... so my buffers aren't desallocated..... (or seems so) so I tried to use LockPage() instead of SetPageReserved() and now I get an even stranger issue : when I launch the 1rst test everything is ok, no frame corruption.... when I launch the second time the test that's the big mess.... activating the debug I see that everything goes right but my wake_up_interruptible () call don't wake up my application. and when I kill it I get a kernel panic....... (aie killing interrupt handler but the backtrace show me that this is in my desalocation function) I included a part of my source here the function to look for are mmap_vma_open mmap_vma_close mmap_vma_nopage DeallocateBuffer AllocateBuffer and BuffMemReserve if this is an already known issue just tell me, I'll report it to my leader and see what we can do if you have any ideas/test just ask we recently got a BDI2000, I'll see if I can manage to debug with it...... any help is wlecome, I know that the 2.4.* series are outdated but I'm not making the choices ^_^ Best regards