Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0cf572dc authored by Julia Lawall's avatar Julia Lawall Committed by Kumar Gala
Browse files

arch/powerpc/sysdev/fsl_pci.c: add missing iounmap

Add missing iounmap in error handling code, in a case where the function
already preforms iounmap on some other execution path.

A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/

)

// <smpl>
@@
expression e;
statement S,S1;
int ret;
@@
e = \(ioremap\|ioremap_nocache\)(...)
... when != iounmap(e)
if (<+...e...+>) S
... when any
    when != iounmap(e)
*if (...)
   { ... when != iounmap(e)
     return ...; }
... when any
iounmap(e);
// </smpl>

Signed-off-by: default avatarJulia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
parent ba8438fb
Loading
Loading
Loading
Loading
+3 −2
Original line number Original line Diff line number Diff line
@@ -205,12 +205,12 @@ static void __init setup_pci_atmu(struct pci_controller *hose,


	if (paddr_hi == paddr_lo) {
	if (paddr_hi == paddr_lo) {
		pr_err("%s: No outbound window space\n", name);
		pr_err("%s: No outbound window space\n", name);
		return ;
		goto out;
	}
	}


	if (paddr_lo == 0) {
	if (paddr_lo == 0) {
		pr_err("%s: No space for inbound window\n", name);
		pr_err("%s: No space for inbound window\n", name);
		return ;
		goto out;
	}
	}


	/* setup PCSRBAR/PEXCSRBAR */
	/* setup PCSRBAR/PEXCSRBAR */
@@ -357,6 +357,7 @@ static void __init setup_pci_atmu(struct pci_controller *hose,
			(u64)hose->dma_window_size);
			(u64)hose->dma_window_size);
	}
	}


out:
	iounmap(pci);
	iounmap(pci);
}
}