===================================================================
@@ -22,7 +22,8 @@ void x86_pci_root_bus_res_quirks(struct
return;
for (i = 0; i < pci_root_num; i++) {
- if (pci_root_info[i].bus_min == b->number)
+ if (pci_root_info[i].bus_min <= b->number &&
+ pci_root_info[i].bus_max >= b->number)
break;
}
@@ -37,6 +38,7 @@ void x86_pci_root_bus_res_quirks(struct
for (j = 0; j < info->res_num; j++) {
struct resource *res;
struct resource *root;
+ struct resource *tmp;
res = &info->res[j];
pci_bus_add_resource(b, res, 0);
===================================================================
@@ -451,7 +451,7 @@ static struct resource * __insert_resour
if (!first)
return first;
- if (first == parent)
+ if (first == parent || first == new)
return first;
if ((first->start > new->start) || (first->end < new->end))