Skip to content

Commit

Permalink
pci: don't reassign to ROM res if it is not going to be enabled
Browse files Browse the repository at this point in the history
A ROM resource that doesn't fit should not cause us to try to re-assign
all the bus resources.  Nobody generally cares, and re-assigning is
going to just cause way more troubles than it tries to solve.

Signed-off-by: Yinghai Lu <yinghai@kernel.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  • Loading branch information
Yinghai Lu authored and Linus Torvalds committed Mar 1, 2010
1 parent 30ff056 commit 9a92866
Showing 1 changed file with 10 additions and 2 deletions.
12 changes: 10 additions & 2 deletions drivers/pci/setup-bus.c
Original file line number Diff line number Diff line change
Expand Up @@ -101,9 +101,17 @@ static void __assign_resources_sorted(struct resource_list *head,
for (list = head->next; list;) {
res = list->res;
idx = res - &list->dev->resource[0];

if (pci_assign_resource(list->dev, idx)) {
if (fail_head && !pci_is_root_bus(list->dev->bus))
add_to_failed_list(fail_head, list->dev, res);
if (fail_head && !pci_is_root_bus(list->dev->bus)) {
/*
* if the failed res is for ROM BAR, and it will
* be enabled later, don't add it to the list
*/
if (!((idx == PCI_ROM_RESOURCE) &&
(!(res->flags & IORESOURCE_ROM_ENABLE))))
add_to_failed_list(fail_head, list->dev, res);
}
res->start = 0;
res->end = 0;
res->flags = 0;
Expand Down

0 comments on commit 9a92866

Please sign in to comment.