• Tony Luck's avatar
    [PATCH] ia64: infinite loop in ia64_mca_wakeup_ipi_wait · bcf50865
    Tony Luck authored
    This bugfix has been hiding inside the MCA TLB patches.
    
    There is an infinite loop in ia64_mca_wakeup_ipi_wait() because
    the compiler optimizes away the test at the bottom of the while
    loop.  It does this because IA64_MCA_WAKEUP_VECTOR is 0xf0, so
    irr_bit is known to be the constant 0x30, a.k.a. 48 in decimal.
    So when the compiler looks at the expression:
    
    
    It observes that 1' as unsigned
    long.
    bcf50865
mca.c 70 KB