Hi
We recently encountered some issues with our EtherCAT product. Upon realizing they might be caused by race conditions on certain variables, we tested whether interrupts are truly disabled in the critical sections protected by bsp_global_mutex_lock.
We protected a section in sync0task so that Ecatisr wouldn't be triggered, but found that it was not blocked.

After going through the code i found that the interrupt number is as follows:
While inside bsp_global_mutex_lock, the interrupt numbers are missing the subtraction of 20:

when i substracted 20 from the interrupt number the interrupt indeed blocked.
Looking forward to your thoughts,
Sahar