Trying to vfree() nonexistent vm area
Duy-Ky Nguyen
duykynguyen at hotmail.com
Tue Oct 7 17:14:01 EST 2008
Hello,
My driver uses ioremap() the IMMR_BASE @ 0xE0000000 to access registers.
A user-space app opens and close the deive file on every access to register.
There's no problem with FreeScale Linuc BSP 2..6.20 for eva board
MPC83813E-RDB.
For the latest FreeScale Linuc BSP 2..6.24 , I have NO problem for the very
FIRST run.
But after the 1st run, I have problem with the new FreeScale Linuc BSP
2..6.24 with the following error message
Trying to vfree() nonexistent vm area (c98a0000)
where c98a0000 is the mapped address of IMMR_BASE 0xE0000000.
So, it appears to me that the device file could be closed improperly as it's
closed after the 1st run.
I really appreciate your time and help
Best Regards,
Duy-Ky
///////////////////////
Below is outline of the driver
init:
ppc_base = (unsigned long) ioremap_nocache(PPC_BASE, PPC_SIZE);
// ppc_base = (unsigned long) ioremap(PPC_BASE, PPC_SIZE); // failure
with this way too
close:
iounmap((void __iomem *)ppc_base);
// iounmap(PPC_BASE); // failure with this way too !
More information about the Linuxppc-embedded
mailing list