How to release the memory mapped by mmap_device_memory?

We are able to access device[Fujitsu LCD controller(coral P)] using mmap_device_memory(),but for the new process if mmap is called again the region is not available.Even after munmap_device_memory at eixt of first process.

What error are you getting from mmap_device_memory()?

we are not getting any error .
Let me put that in steps,-
1.There are two programs.
2.In the first program ,we mmap the device memory using mmap_device_memory.At the end of the program we release it using munmap_device_memory.
3.In the second program,we again mmap the device memory,but the actual registers are not accessed this time,like if i read a chip-ID register.It gives wrong value at this register.
4.I’m using software reset register before start of each program.

Assuming you are using the same physical address in both instances of mmap_device_memory, it’s very likely the problem is how you deal with the hardware itself and not with a QNX/mmap issue.

Yeah from hardware perspective the issue will not be there after a reboot of the system.But this could be done by software reset and munmap_device_memory.
Why does the memory not released at unmap and remap of same physical address?Please clarify me.
Thanks for your valuable information.