]> rtime.felk.cvut.cz Git - sysless.git/commit
Synchronization added to LPC17xx disable_irq and enable_irq functions.
authorPavel Pisa <pisa@cmp.felk.cvut.cz>
Sun, 23 Jan 2011 17:54:17 +0000 (18:54 +0100)
committerPavel Pisa <pisa@cmp.felk.cvut.cz>
Sun, 23 Jan 2011 17:54:17 +0000 (18:54 +0100)
commit3f3864c855c20692792f68eb959ca33a94007337
tree9bd86a3fb81bfa8ad2bdf9e5f6035745bd458432
parentc461713e8afae98f7043ec4cd366689d17ea9557
Synchronization added to LPC17xx disable_irq and enable_irq functions.

If the synchronization is not there, compiler or CPU
can freely reorder execution in request_irq and free_irq.
This caused broken build optimized by

 -Os -ffunction-sections -fdata-sections -Wl,--gc-section

The IRQ source has been enabled before handler has
target been set into irq_handler_table.

Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
arch/arm/mach-lpc17xx/libs/hal/hal.c