brcm47xx: run ssb_pcicore_fix_sprom_core_index just for ssb bus on pci
[openwrt/svn-archive/archive.git] / target / linux / brcm47xx / patches-3.0 / 230-ssb_pci_sprom.patch
1 --- a/drivers/ssb/driver_pcicore.c
2 +++ b/drivers/ssb/driver_pcicore.c
3 @@ -516,10 +516,14 @@ static void ssb_pcicore_pcie_setup_worka
4
5 static void __devinit ssb_pcicore_init_clientmode(struct ssb_pcicore *pc)
6 {
7 - ssb_pcicore_fix_sprom_core_index(pc);
8 + struct ssb_device *pdev = pc->dev;
9 + struct ssb_bus *bus = pdev->bus;
10 +
11 + if (bus->bustype == SSB_BUSTYPE_PCI)
12 + ssb_pcicore_fix_sprom_core_index(pc);
13
14 /* Disable PCI interrupts. */
15 - ssb_write32(pc->dev, SSB_INTVEC, 0);
16 + ssb_write32(pdev, SSB_INTVEC, 0);
17
18 /* Additional PCIe always once-executed workarounds */
19 if (pc->dev->id.coreid == SSB_DEV_PCIE) {