diff options
Diffstat (limited to 'drivers/ssb')
-rw-r--r-- | drivers/ssb/driver_pcicore.c | 12 |
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 | ||