IU have a variable which can be chyanged outside the interrupt but inside the ISR it is only read. Its value don't change in it. Should it be volatile.
volatile can also be useful on auto variables in functions that call setjmp