@@ -1836,7 +1836,7 @@ static void extend_bridge_window(struct pci_dev *bridge, struct resource *res,
struct list_head *add_list,
resource_size_t new_size)
{
- struct pci_dev_resource *dev_res;
+ resource_size_t add_size;
if (res->parent)
return;
@@ -1844,17 +1844,10 @@ static void extend_bridge_window(struct pci_dev *bridge, struct resource *res,
if (resource_size(res) >= new_size)
return;
- dev_res = res_to_dev_res(add_list, res);
- if (!dev_res)
- return;
-
- /* Is there room to extend the window? */
- if (new_size - resource_size(res) <= dev_res->add_size)
- return;
-
- dev_res->add_size = new_size - resource_size(res);
- pci_dbg(bridge, "bridge window %pR extended by %pa\n", res,
- &dev_res->add_size);
+ add_size = new_size - resource_size(res);
+ pci_dbg(bridge, "bridge window %pR extended by %pa\n", res, &add_size);
+ res->end = res->start + new_size - 1;
+ remove_from_list(add_list, res);
}
static void pci_bus_distribute_available_resources(struct pci_bus *bus,