[ARM PATCH] 2373/1: S3C2410 - fix possible loop in irq macro
Patch from Ben Dooks If we read the INTPEND register and get the wrong result (details below) then it looks like a possible loop to go back and re-read it after calculating the possible correct value for it. It seems that the INTPEND register, which should show the unique number of the interrupt that we need to handle. However, it seems that this register can show the wrong interrupt under certain conditions. Shannon's research shows that it is very possible that the occurence of an external interrupt can end up merging with the base interrupt number, causing the wrong result in the register. This patch also fixes the end position of the #ifdef block and ensures as many registers as possible are stacked before calling printk() for debug. Original patch for 2.6.9 by Shannon Holland re-written for 2.6.10 by Ben Dooks. Signed-off-by: Shannon Holland Signed-off-by: Ben Dooks Signed-off-by: Russell King
Showing
Please register or sign in to comment