mmap_device_io works first time, fails all others til reboot

So i have an opto isolated dio card at base address 0x200.
After i do the first mmap_device_io after a reboot the card is mapped properly and I see the device id registers that the manufacturer has populated to identify you have the board up and running.

After my first kill of the app (for debugging purposes) all subsequent mmap_ calls return what looks to be a valid address and seems happy but there is a disconnect as I can no longer read the proper values from these registers.

I’m in c++, qnx 6.3.x


Maybe your code is leaving the card in an invalid state.