From 22b6b0e0ac80baf601957d9bfd0fba9853a4bc14 Mon Sep 17 00:00:00 2001 From: Yu Zhao Date: Sat, 22 Nov 2008 02:41:07 +0800 Subject: [PATCH] --- yaml --- r: 127383 b: refs/heads/master c: 3789fa8a2e534523c896a32a9f27f78d52ad7d82 h: refs/heads/master i: 127381: 9edd81a248ac1724af550af5b194feebe8d268b1 127379: f9ed7e303644cdcc21488431996c844537722547 127375: 9d58c2e79a52e6ac2126f2ff9e8e9df18ec3f682 v: v3 --- [refs] | 2 +- trunk/drivers/pci/probe.c | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index d7cb4301e7f6..6364668909e8 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 0b400c7ed4d027e02f6231afa39852a2d48e6f25 +refs/heads/master: 3789fa8a2e534523c896a32a9f27f78d52ad7d82 diff --git a/trunk/drivers/pci/probe.c b/trunk/drivers/pci/probe.c index 5372d3699e08..2ee00962734b 100644 --- a/trunk/drivers/pci/probe.c +++ b/trunk/drivers/pci/probe.c @@ -398,12 +398,10 @@ static struct pci_bus *pci_alloc_child_bus(struct pci_bus *parent, if (!child) return NULL; - child->self = bridge; child->parent = parent; child->ops = parent->ops; child->sysdata = parent->sysdata; child->bus_flags = parent->bus_flags; - child->bridge = get_device(&bridge->dev); /* initialize some portions of the bus device, but don't register it * now as the parent is not properly set up yet. This device will get @@ -420,6 +418,12 @@ static struct pci_bus *pci_alloc_child_bus(struct pci_bus *parent, child->primary = parent->secondary; child->subordinate = 0xff; + if (!bridge) + return child; + + child->self = bridge; + child->bridge = get_device(&bridge->dev); + /* Set up default resource pointers and names.. */ for (i = 0; i < PCI_BRIDGE_RESOURCE_NUM; i++) { child->resource[i] = &bridge->resource[PCI_BRIDGE_RESOURCES+i];