summaryrefslogtreecommitdiffstats
path: root/arch/mips/include/asm/sgidefs.h
diff options
context:
space:
mode:
authorManuel Lauss <manuel.lauss@googlemail.com>2009-10-14 12:22:20 +0200
committerRalf Baechle <ralf@linux-mips.org>2009-11-02 12:00:08 +0100
commit44f2c586a3553154bc6549eb696c7716c85f910b (patch)
tree1050bd39b5fd1d67c63dddd939223b60ad7f9a44 /arch/mips/include/asm/sgidefs.h
parentfcc152f3bf55cec61167b173774cbf717b0ff5e4 (diff)
downloadblackbird-op-linux-44f2c586a3553154bc6549eb696c7716c85f910b.tar.gz
blackbird-op-linux-44f2c586a3553154bc6549eb696c7716c85f910b.zip
MIPS: Alchemy: Fix hang with high-frequency edge interrupts
The handle_edge_irq() flowhandler disables edge int sources which occur too fast (i.e. another edge comes in before the irq handler function had a chance to finish). Currently, the mask_ack() callback does not ack the edges in hardware, leading to an endless loop in the flowhandler where it tries to shut up the irq source. When I rewrote the alchemy IRQ code I wrongly assumed the mask_ack() callback was only used by the level flowhandler, hence it omitted the (at the time pointless) edge acks. Turned out I was wrong; so here is a complete mask_ack implementation for Alchemy IC, which fixes the above mentioned problem. Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/include/asm/sgidefs.h')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud