• Andi Kleen's avatar
    [PATCH] x86_64: Fix lost edge triggered irqs on UP kernel · 18b98872
    Andi Kleen authored
    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: default avatarAndi Kleen <ak@suse.de>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    18b98872
hw_irq.h 3.6 KB