BG96 GPIO Interrupt

Hi all,
I am working on Bg96 GPIO interrupts, I want to assign Interrupt To more then one pin (3 pins), so i select Pin 5,6 and 7 and register call back to each of them with different callback functions.
And i compile the code and run it over the module, here what i saw that only one callback function works with all the interrupt PINs, means callback function that I assign to last PIN works, and former both didn’t. When I configure only one PIN for interrupt the callback function assigned to that PIN works.
And one more problem when interrupt occur the callback function assigned to the interrupt execute a number of times I want to clear the interrupt after one execution but unable to do so.
Please help me.
Thanks

About How to identify which gpio triggered internally ,
Even only one callback is available , But there is a parameter that can be used to identify which GPIO interrupt is
The forth parameter can be used to transmit the GPIO ID
E.g

image

image