diff options
author | David S. Miller <davem@davemloft.net> | 2008-04-09 15:10:14 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-04-09 15:10:14 -0700 |
commit | b41f5bfff73f244101b34f3603974ef7aeadf545 (patch) | |
tree | 5c7fc7de15a020cde0f99fac3e61d981a1d59022 /drivers/ssb/driver_mipscore.c | |
parent | bcf0dda8d2408fe1c1040cdec5a98e5fcad2ac72 (diff) | |
parent | e91e9d490d9ae382003ef9d05fd50238db54c35b (diff) |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6
Diffstat (limited to 'drivers/ssb/driver_mipscore.c')
-rw-r--r-- | drivers/ssb/driver_mipscore.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/drivers/ssb/driver_mipscore.c b/drivers/ssb/driver_mipscore.c index 3d3dd32bf3a..a9e7eb45b2e 100644 --- a/drivers/ssb/driver_mipscore.c +++ b/drivers/ssb/driver_mipscore.c @@ -109,12 +109,13 @@ static void set_irq(struct ssb_device *dev, unsigned int irq) clear_irq(bus, oldirq); /* assign the new one */ - if (irq == 0) - ssb_write32(mdev, SSB_INTVEC, ((1 << irqflag) & ssb_read32(mdev, SSB_INTVEC))); - - irqflag <<= ipsflag_irq_shift[irq]; - irqflag |= (ssb_read32(mdev, SSB_IPSFLAG) & ~ipsflag_irq_mask[irq]); - ssb_write32(mdev, SSB_IPSFLAG, irqflag); + if (irq == 0) { + ssb_write32(mdev, SSB_INTVEC, ((1 << irqflag) | ssb_read32(mdev, SSB_INTVEC))); + } else { + irqflag <<= ipsflag_irq_shift[irq]; + irqflag |= (ssb_read32(mdev, SSB_IPSFLAG) & ~ipsflag_irq_mask[irq]); + ssb_write32(mdev, SSB_IPSFLAG, irqflag); + } } static void ssb_mips_serial_init(struct ssb_mipscore *mcore) |