* Actual ISR handler. This must be separate from the entry point as the stack\r
* is used.\r
*/\r
-void vUSB_ISR_Handler( void );\r
+void vUSB_ISR_Handler( void ) __attribute__((noinline));\r
\r
/*-----------------------------------------------------------*/\r
\r
\r
/* Call the handler itself. This must be a separate function as it uses\r
the stack. */\r
- vUSB_ISR_Handler();\r
+ __asm volatile ("bl vUSB_ISR_Handler");\r
\r
/* Restore the context of the task that is going to \r
execute next. This might not be the same as the originally \r