aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/ssb/driver_pcicore.c12
1 files changed, 3 insertions, 9 deletions
diff --git a/drivers/ssb/driver_pcicore.c b/drivers/ssb/driver_pcicore.c
index 2cc668ac5609..75def13e797d 100644
--- a/drivers/ssb/driver_pcicore.c
+++ b/drivers/ssb/driver_pcicore.c
@@ -562,15 +562,9 @@ int ssb_pcicore_dev_irqvecs_enable(struct ssb_pcicore *pc,
562 u32 intvec; 562 u32 intvec;
563 563
564 intvec = ssb_read32(pdev, SSB_INTVEC); 564 intvec = ssb_read32(pdev, SSB_INTVEC);
565 if ((bus->chip_id & 0xFF00) == 0x4400) { 565 tmp = ssb_read32(dev, SSB_TPSFLAG);
566 /* Workaround: On the BCM44XX the BPFLAG routing 566 tmp &= SSB_TPSFLAG_BPFLAG;
567 * bit is wrong. Use a hardcoded constant. */ 567 intvec |= (1 << tmp);
568 intvec |= 0x00000002;
569 } else {
570 tmp = ssb_read32(dev, SSB_TPSFLAG);
571 tmp &= SSB_TPSFLAG_BPFLAG;
572 intvec |= (1 << tmp);
573 }
574 ssb_write32(pdev, SSB_INTVEC, intvec); 568 ssb_write32(pdev, SSB_INTVEC, intvec);
575 } 569 }
576 570