In fact the interrupts get enabled at omap4_usbboot_open, it's required for usb transfers. For this reason the interrupts are disabled at barebox exit. On Sun, Sep 30, 2012 at 4:02 PM, Jean-Christophe PLAGNIOL-VILLARD < plagnioj@jcrosoft.com> wrote: > On 16:14 Sun 30 Sep , Antony Pavlov wrote: > > On 30 September 2012 06:50, vj wrote: > > > --- > > > arch/arm/cpu/cpu.c | 1 + > > > arch/arm/mach-omap/Kconfig | 7 + > > > arch/arm/mach-omap/Makefile | 1 + > > > arch/arm/mach-omap/include/mach/omap4_rom_usb.h | 142 ++++++++ > > > arch/arm/mach-omap/omap4_generic.c | 13 + > > > arch/arm/mach-omap/omap4_rom_usb.c | 186 +++++++++++ > > > scripts/.gitignore | 1 + > > > scripts/Makefile | 4 + > > > scripts/omap4_usbboot.c | 416 > ++++++++++++++++++++++++ > > > scripts/usb.h | 61 ++++ > > > scripts/usb_linux.c | 397 > ++++++++++++++++++++++ > > > 11 files changed, 1229 insertions(+) > > > create mode 100644 arch/arm/mach-omap/include/mach/omap4_rom_usb.h > > > create mode 100644 arch/arm/mach-omap/omap4_rom_usb.c > > > create mode 100644 scripts/omap4_usbboot.c > > > create mode 100644 scripts/usb.h > > > create mode 100644 scripts/usb_linux.c > > > > > > diff --git a/arch/arm/cpu/cpu.c b/arch/arm/cpu/cpu.c > > > index 71ef8c0..05343de 100644 > > > --- a/arch/arm/cpu/cpu.c > > > +++ b/arch/arm/cpu/cpu.c > > > @@ -89,6 +89,7 @@ void arch_shutdown(void) > > > : "r0", "r1", "r2", "r3", "r6", "r10", "r12", "lr", > "cc", "memory" > > > ); > > > #endif > > > + __asm__ __volatile__ ("cpsid i\n"); > ??? > > why do you add this? > > we never enable the interrupt > > and this is generic not omap4 must be in a seperate patch > >