aboutsummaryrefslogtreecommitdiff
path: root/src/devices/pci_ops.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/pci_ops.c')
-rw-r--r--src/devices/pci_ops.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/devices/pci_ops.c b/src/devices/pci_ops.c
index 6029d757ef..6ade5e0c3c 100644
--- a/src/devices/pci_ops.c
+++ b/src/devices/pci_ops.c
@@ -25,6 +25,9 @@
#include <device/pci_ids.h>
#include <device/pci_ops.h>
+/* The only consumer of the return value of get_pbus() is ops_pci_bus().
+ * ops_pci_bus() can handle being passed NULL and auto-picks working ops.
+ */
static struct bus *get_pbus(device_t dev)
{
struct bus *pbus = NULL;
@@ -44,8 +47,9 @@ static struct bus *get_pbus(device_t dev)
pbus = pbus->dev->bus;
}
if (!pbus || !pbus->dev || !pbus->dev->ops || !pbus->dev->ops->ops_pci_bus) {
- printk_emerg("%s: Cannot find pci bus operations.\n", dev_path(dev));
- die("");
+ /* This can happen before the device tree is set up completely. */
+ //printk_emerg("%s: Cannot find pci bus operations.\n", dev_path(dev));
+ pbus = NULL;
}
return pbus;
}