Sugerencia, dependiendo del tipo de rutina que tengas en las interrupciones es probable que necesites salvar el contexto.
Es importante lo que dice Tonio respecto al tiempo que tu sistema se va a mantener en la rutina de interrupciôn. Si tenês en cuenta el tamaño del buffer de entrada (hard) y el tiempo mâximo de ejecuciôn de tu rutina, no tendrîas por quê perder datos, pero siempre conviene verificar si el dato fue sobreescrito antes de ser leido. Eso no te posibilita recuperar lo perdido, pero al menos vas a saber que tus datos estân corruptos y eventualmente podes pedir un reenvîo.
Algo obvio, pero lo comento por las dudas, mirâ cuantos niveles tiene tu stack y controla que no te estês pasando.