\r
/* Handler called by the ISR wrapper. This must be kept a separate\r
function to ensure the stack frame is correctly set up. */\r
-void vEMACISR_Handler( void );\r
+void vEMACISR_Handler( void ) __attribute__((noinline));\r
\r
static xSemaphoreHandle xEMACSemaphore;\r
\r
\r
/* Call the handler task to do the actual work. This must be a separate\r
function to ensure the stack frame is correctly set up. */\r
- vEMACISR_Handler();\r
+ __asm volatile ("bl vEMACISR_Handler");\r
\r
/* Restore the context of whichever task is the next to run. */\r
portRESTORE_CONTEXT();\r