summaryrefslogtreecommitdiff
path: root/arch/arm/mach-iop13xx/pci.c
diff options
context:
space:
mode:
authorAlan Cox <alan@lxorguk.ukuu.org.uk>2009-03-23 13:44:07 +0300
committerRussell King <rmk+kernel@arm.linux.org.uk>2009-03-25 01:52:27 +0300
commitb23c7a427e4b3764ad686a46de89ab652811c50a (patch)
treebfe9e189c92d55be27e034a6f4dfdc6e08164b80 /arch/arm/mach-iop13xx/pci.c
parentecbf61e7357d5c7047c813edd6983902d158688c (diff)
downloadlinux-b23c7a427e4b3764ad686a46de89ab652811c50a.tar.xz
[ARM] fix leak in iop13xx/pci
Another leak found by Daniel Marjamäki Signed-off-by: Alan Cox <alan@lxorguk.ukuu.org.uk> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-iop13xx/pci.c')
-rw-r--r--arch/arm/mach-iop13xx/pci.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/arm/mach-iop13xx/pci.c b/arch/arm/mach-iop13xx/pci.c
index 673b0db22034..4873f26a42e1 100644
--- a/arch/arm/mach-iop13xx/pci.c
+++ b/arch/arm/mach-iop13xx/pci.c
@@ -1026,8 +1026,10 @@ int iop13xx_pci_setup(int nr, struct pci_sys_data *sys)
which_atu = 0;
}
- if (!which_atu)
+ if (!which_atu) {
+ kfree(res);
return 0;
+ }
switch(which_atu) {
case IOP13XX_INIT_ATU_ATUX:
@@ -1074,6 +1076,7 @@ int iop13xx_pci_setup(int nr, struct pci_sys_data *sys)
sys->map_irq = iop13xx_pcie_map_irq;
break;
default:
+ kfree(res);
return 0;
}