So the interrupt on the nRF2401+ seems to be working inconsistently. I get interrupts sometimes and sometimes I don't.
For a context: I'm transmitting a sensor data only when the user types in something in the command line. And sometimes I have also seen IRQ triggering even though none of the interrupt bits are set `(RX_DR, TX_DS, MAX_RT)`.
Following is what I'm printing after sending a payload. You can see dynamic payload length, PWR_UP are enabled and PRIM_RX is disabled (TXing), but interrupt never gets fired.

Her'es a function for transmitting payload:
NRF_STATUS nRF24_TransmitPayload(nrfl2401 *nrf, uint8_t *data, uint8_t size)
{
printf ("\n ********** Sending payload data %s ************\n", data);
nrf->state = NRF_TX_BUSY;
char txt[20] = "\nTX payload_";
nRF24_WriteRegister(nrf, nRF24_CMD_W_PAYLOAD, data, size, txt);
nRF24_PrintDetails(&nrfRadio);
SET_CE();
while(nrf->state == NRF_TX_BUSY); // waiting till ISR is fully serviced
RESET_CE();
}