According to me your problem is not the FPGA but it is the way your interrupt is being handled. You may want to isolate this problem and ask with proper tags. Don't include PCIe or the FPGA, since there is a high probability that they are not part of your current problem.
The PCIe drivers you are using for your SGDMA are different for different FPGAs. Since you are manually calling the functions for read and write to the PCIe-FPGA interface it looks like there might not be an issue with this part (PCIe driver) also. The functions you use will not be known to others, so no point in sharing that in your question also.
I will suggest you to read more about IO interrupt handling. Try something other than polling for the interrupt event.