ssb: Fix probing of PCI cores if PCI and PCIE core is available
This will make sure that always the correct core is selected, even if there are both a PCI and PCI-E core on a PCI or PCI-E card. Signed-off-by: Michael Buesch <mb@bu3sch.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
4ec2411980
commit
87c4ac841c
1 changed files with 11 additions and 0 deletions
|
@ -388,6 +388,17 @@ int ssb_bus_scan(struct ssb_bus *bus,
|
|||
case SSB_DEV_PCI:
|
||||
case SSB_DEV_PCIE:
|
||||
#ifdef CONFIG_SSB_DRIVER_PCICORE
|
||||
if (bus->bustype == SSB_BUSTYPE_PCI) {
|
||||
/* Ignore PCI cores on PCI-E cards.
|
||||
* Ignore PCI-E cores on PCI cards. */
|
||||
if (dev->id.coreid == SSB_DEV_PCI) {
|
||||
if (bus->host_pci->is_pcie)
|
||||
continue;
|
||||
} else {
|
||||
if (!bus->host_pci->is_pcie)
|
||||
continue;
|
||||
}
|
||||
}
|
||||
if (bus->pcicore.dev) {
|
||||
ssb_printk(KERN_WARNING PFX
|
||||
"WARNING: Multiple PCI(E) cores found\n");
|
||||
|
|
Loading…
Reference in a new issue