diff options
author | Rafał Miłecki <zajec5@gmail.com> | 2012-12-10 01:53:56 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2012-12-10 15:49:53 -0500 |
commit | cbbc0138efe1dcd5426b8fc5d87741f5057aee72 (patch) | |
tree | 8c2c9f11b9503fcf61e927e7f2f50d0d0a6c3045 /drivers/bcma | |
parent | 3edfd10b45ae4ebe8ff905f626708c49e4fdc167 (diff) |
bcma: mips: fix clearing device IRQ
We were using wrong IRQ number so clearing wasn't working at all.
Depending on a platform this could result in a one device having two
interrupts assigned. On BCM4706 this resulted in all IRQs being broken.
Cc: Hauke Mehrtens <hauke@hauke-m.de>
Cc: stable@vger.kernel.org
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Acked-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/bcma')
-rw-r--r-- | drivers/bcma/driver_mips.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/bcma/driver_mips.c b/drivers/bcma/driver_mips.c index c45ded8a6963..792daad28cbc 100644 --- a/drivers/bcma/driver_mips.c +++ b/drivers/bcma/driver_mips.c | |||
@@ -115,7 +115,7 @@ static void bcma_core_mips_set_irq(struct bcma_device *dev, unsigned int irq) | |||
115 | bcma_read32(mdev, BCMA_MIPS_MIPS74K_INTMASK(0)) & | 115 | bcma_read32(mdev, BCMA_MIPS_MIPS74K_INTMASK(0)) & |
116 | ~(1 << irqflag)); | 116 | ~(1 << irqflag)); |
117 | else | 117 | else |
118 | bcma_write32(mdev, BCMA_MIPS_MIPS74K_INTMASK(irq), 0); | 118 | bcma_write32(mdev, BCMA_MIPS_MIPS74K_INTMASK(oldirq), 0); |
119 | 119 | ||
120 | /* assign the new one */ | 120 | /* assign the new one */ |
121 | if (irq == 0) { | 121 | if (irq == 0) { |