[PATCH] x86_64: Fix lost edge triggered irqs on UP kernel
Patch from Petr Vandrovec <vandrove@vc.cvut.cz> Recently I've observed problems with IDE disks while running UP kernel on x86-64 - it complained a lot about lost irq from hda/hdc. I tracked problem down to the problem that at enable_irq() code calls hw_resend_irq(), but on x86-64 hw_resend_irq() does something useful only when CONFIG_SMP is defined, on UP systems it does nothing. Due to this IRQ is lost - and when IDE retries command, it can again happen that IRQ is delivered before IDE code does enable_irq(), and again and again, unless due to drive being lazy finally once kernel does enable_irq() before drive prepares its answer, and things move forward ... to next lost IRQ. Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Showing
Please register or sign in to comment