diff options
-rw-r--r-- | arch/mips64/sgi-ip27/ip27-irq.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/mips64/sgi-ip27/ip27-irq.c b/arch/mips64/sgi-ip27/ip27-irq.c index 20dc3245d..33b2d390a 100644 --- a/arch/mips64/sgi-ip27/ip27-irq.c +++ b/arch/mips64/sgi-ip27/ip27-irq.c @@ -261,11 +261,12 @@ static unsigned int bridge_startup(unsigned int irq) device |= BRIDGE_DEV_SWAP_DIR; bridge->b_device[pin].reg = device; /* - * Associate interrupt pin with device * XXX This only works if b_int_device is initialized to 0! + * We program the bridge to have a 1:1 mapping between devices + * (slots) and intr pins. */ device = bridge->b_int_device; - device |= (pin << (real_irq*3)); + device |= (pin << (pin*3)); bridge->b_int_device = device; } bridge->b_widget.w_tflush; /* Flush */ |