Hi, Ford:
In addition to what mke_et said, make sure you are clearing the interrupt flag, if you are using interrupts.
Read the status register before reading the data register, or the interrupt flag will remain set, and you will loop through your ISR forever.