[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>
diff --git a/arch/ppc/platforms/4xx/luan.c b/arch/ppc/platforms/4xx/luan.c
index 4b16961..b79ebb8 100644
--- a/arch/ppc/platforms/4xx/luan.c
+++ b/arch/ppc/platforms/4xx/luan.c
@@ -230,10 +230,15 @@
/* Allocate hoses for PCIX1 and PCIX2 */
hose1 = pcibios_alloc_controller();
- hose2 = pcibios_alloc_controller();
- if (!hose1 || !hose2)
+ if (!hose1)
return;
+ hose2 = pcibios_alloc_controller();
+ if (!hose2) {
+ pcibios_free_controller(hose1);
+ return;
+ }
+
/* Setup PCIX1 */
hose1->first_busno = 0;
hose1->last_busno = 0xff;