#include #include #include #include #include static void usb_int_safe (void) __attribute__((noinline)); static void usb_int_safe (void) { unsigned int int_status; /* putchar('*'); */ int_status = *AT91C_UDP_ISR & *AT91C_UDP_IMR; if (int_status & (AT91C_UDP_EP0 | AT91C_UDP_EP1 | AT91C_UDP_EP2 | AT91C_UDP_EP3)) { unsigned int ep_index; /* Handle enabled interrupts */ for (ep_index = 0; ep_index < 4; ep_index++) { if (int_status & (1<