diff options
Diffstat (limited to 'firmware/target/arm/as3525/system-as3525.c')
-rw-r--r-- | firmware/target/arm/as3525/system-as3525.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/firmware/target/arm/as3525/system-as3525.c b/firmware/target/arm/as3525/system-as3525.c index af11d7d842..8aa2d02ab7 100644 --- a/firmware/target/arm/as3525/system-as3525.c +++ b/firmware/target/arm/as3525/system-as3525.c | |||
@@ -50,7 +50,9 @@ | |||
50 | #define default_interrupt(name) \ | 50 | #define default_interrupt(name) \ |
51 | extern __attribute__((weak,alias("UIRQ"))) void name (void) | 51 | extern __attribute__((weak,alias("UIRQ"))) void name (void) |
52 | 52 | ||
53 | #if CONFIG_USBOTG != USBOTG_DESIGNWARE | ||
53 | static void UIRQ (void) __attribute__((interrupt ("IRQ"))); | 54 | static void UIRQ (void) __attribute__((interrupt ("IRQ"))); |
55 | #endif | ||
54 | void irq_handler(void) __attribute__((naked, interrupt ("IRQ"))); | 56 | void irq_handler(void) __attribute__((naked, interrupt ("IRQ"))); |
55 | void fiq_handler(void) __attribute__((interrupt ("FIQ"))); | 57 | void fiq_handler(void) __attribute__((interrupt ("FIQ"))); |
56 | 58 | ||
@@ -105,6 +107,11 @@ static void UIRQ(void) | |||
105 | if(status == 0) | 107 | if(status == 0) |
106 | { | 108 | { |
107 | status = VIC_RAW_INTR; /* masked interrupts */ | 109 | status = VIC_RAW_INTR; /* masked interrupts */ |
110 | #if CONFIG_USBOTG == USBOTG_DESIGNWARE | ||
111 | /* spurious interrupts from USB are expected */ | ||
112 | if (status & INTERRUPT_USB) | ||
113 | return; | ||
114 | #endif | ||
108 | masked = true; | 115 | masked = true; |
109 | } | 116 | } |
110 | 117 | ||