An ISR must not call a blocking function. We are adding runtime checks to some kernel functions to check if they are called from an ISR and if so, return an error value. Once advice here is you should always check return values from MQX functions.
MQX Reference Manual gives information about blocking/non-blocking behavior of functions, also lists return values.
Due to interrupt latency, an application should not spend much time in an isr. When an isr executes, lower priority interrupts are masked so the MCU doesn't service them at the time when they occur, but at the time when code returns from the isr.