aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoel Kluin <12o3l@tiscali.nl>2007-10-28 00:22:13 +1000
committerJosh Boyer <jwboyer@linux.vnet.ibm.com>2007-11-01 07:14:09 -0500
commit57d75561be5496289601b2c94787ec38c718fcae (patch)
tree5be9e7df59be6dba1ba64597fba90009f740729c
parent[POWERPC] 4xx: Workaround for the 440EP(x)/GR(x) processors identical PVR issue. (diff)
downloadlinux-dev-57d75561be5496289601b2c94787ec38c718fcae.tar.xz
linux-dev-57d75561be5496289601b2c94787ec38c718fcae.zip
[POWERPC] allocation fix in ppc/platforms/4xx/luan.c
Don't allocate hose2 when when hose1 can't be allocated and free hose1 when hose2 can't be allocated. Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
-rw-r--r--arch/ppc/platforms/4xx/luan.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/arch/ppc/platforms/4xx/luan.c b/arch/ppc/platforms/4xx/luan.c
index 4b169610f154..b79ebb8a3e6c 100644
--- a/arch/ppc/platforms/4xx/luan.c
+++ b/arch/ppc/platforms/4xx/luan.c
@@ -230,9 +230,14 @@ luan_setup_hoses(void)
/* Allocate hoses for PCIX1 and PCIX2 */
hose1 = pcibios_alloc_controller();
+ if (!hose1)
+ return;
+
hose2 = pcibios_alloc_controller();
- if (!hose1 || !hose2)
+ if (!hose2) {
+ pcibios_free_controller(hose1);
return;
+ }
/* Setup PCIX1 */
hose1->first_busno = 0;