ppc4xx: Mask 'vec' with 0x1f in uic_interrupt() for bit set/clear
PATCH 1/1 ppc4xx: Mask 'vec' with 0x1f in uic_interrupt() for bit set/clear
Signed-off-by Stefan Roese <[email protected]>
--- cpu/ppc4xx/interrupts.c | 7 ++++--- 1 files changed, 4 insertions(+), 3 deletions(-)
cpu/ppc4xx/interrupts.c +4 -3
@@ -218,15 +218,16 @@ static void uic_interrupt(u32 uic_base, int vec_base) }else {set_dcr (uic_base +UIC_ER ,get_dcr (uic_base +UIC_ER ) & - ~(0x80000000 >> vec)); + ~(0x80000000 >> (vec &0x1f )));printf ("Masking bogus interrupt vector %d" " (UIC_BASE=0x%x)\n" , vec, uic_base); }/* -* After servicing the interrupt, we have to remove the status indicator. +* After servicing the interrupt, we have to remove the +* status indicator */ -set_dcr (uic_base +UIC_SR , (0x80000000 >> vec)); +set_dcr (uic_base +UIC_SR , (0x80000000 >> (vec &0x1f ))); }/*
Signature · 1 line
1.5.4.4