diff --git a/target/linux/generic/files/drivers/ssb/fallback-sprom.c b/target/linux/generic/files/drivers/ssb/fallback-sprom.c index 65436a42ec5..26f0fd2f036 100644 --- a/target/linux/generic/files/drivers/ssb/fallback-sprom.c +++ b/target/linux/generic/files/drivers/ssb/fallback-sprom.c @@ -56,9 +56,14 @@ static struct list_head ssb_fbs_list = LIST_HEAD_INIT(ssb_fbs_list); int ssb_get_fallback_sprom(struct ssb_bus *bus, struct ssb_sprom *out) { - const u32 pci_bus = bus->host_pci->bus->number; - const u32 pci_dev = PCI_SLOT(bus->host_pci->devfn); struct ssb_fbs *pos; + u32 pci_bus, pci_dev; + + if (bus->bustype != SSB_BUSTYPE_PCI) + return -ENOENT; + + pci_bus = bus->host_pci->bus->number; + pci_dev = PCI_SLOT(bus->host_pci->devfn); list_for_each_entry(pos, &ssb_fbs_list, list) { if (pos->pci_bus != pci_bus ||