Merge git://www.denx.de/git/u-boot
[oweals/u-boot.git] / cpu / at32ap / interrupts.c
index 85420a4248a89c5a3d6074031b346cec6854c98d..c9e04993c777a1344147acf2d108ca5e02d2604a 100644 (file)
@@ -115,9 +115,12 @@ void udelay(unsigned long usec)
 static int set_interrupt_handler(unsigned int nr, void (*handler)(void),
                                 unsigned int priority)
 {
+       extern void _evba(void);
        unsigned long intpr;
        unsigned long handler_addr = (unsigned long)handler;
 
+       handler_addr -= (unsigned long)&_evba;
+
        if ((handler_addr & HANDLER_MASK) != handler_addr
            || (priority & INTLEV_MASK) != priority)
                return -EINVAL;