git.openpandora.org
/
pandora-kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hch/hfsplus
[pandora-kernel.git]
/
drivers
/
pci
/
setup-bus.c
diff --git
a/drivers/pci/setup-bus.c
b/drivers/pci/setup-bus.c
index
1e9e5a5
..
9995842
100644
(file)
--- a/
drivers/pci/setup-bus.c
+++ b/
drivers/pci/setup-bus.c
@@
-47,6
+47,13
@@
struct resource_list_x {
(head)->next = NULL; \
} while (0)
(head)->next = NULL; \
} while (0)
+int pci_realloc_enable = 0;
+#define pci_realloc_enabled() pci_realloc_enable
+void pci_realloc(void)
+{
+ pci_realloc_enable = 1;
+}
+
/**
* add_to_list() - add a new resource tracker to the list
* @head: Head of the list
/**
* add_to_list() - add a new resource tracker to the list
* @head: Head of the list
@@
-1025,6
+1032,7
@@
static int __init pci_get_max_depth(void)
return depth;
}
return depth;
}
+
/*
* first try will not touch pci bridge res
* second and later try will clear small leaf bridge res
/*
* first try will not touch pci bridge res
* second and later try will clear small leaf bridge res
@@
-1068,6
+1076,13
@@
again:
/* any device complain? */
if (!head.next)
goto enable_and_dump;
/* any device complain? */
if (!head.next)
goto enable_and_dump;
+
+ /* don't realloc if asked to do so */
+ if (!pci_realloc_enabled()) {
+ free_list(resource_list_x, &head);
+ goto enable_and_dump;
+ }
+
failed_type = 0;
for (list = head.next; list;) {
failed_type |= list->flags;
failed_type = 0;
for (list = head.next; list;) {
failed_type |= list->flags;