fix a race in IRQ handler

The IRQs have to be acknowledged before they are serviced, otherwise
some events may be skipped. Also, acknowledging IRQs just before
returning from the handler doesn't leave enough time for the device to
deassert the INTx line, and for bridges to propagate this change. This
resulted in twice the IRQ rate on ARMv6 dual core CPU.

Signed-off-by: Andrey Utkin <andrey.utkin@corp.bluecherry.net>
Update changelog for v2.4.12