Commit 302cff1a authored by Linus Walleij's avatar Linus Walleij Committed by Arnd Bergmann
Browse files

ARM: ux500: fix ureachable iounmap()



The code was executing a return with a pointer before reaching
iounmap().

Reported-by: default avatarDavid Binderman <dcb314@hotmail.com>
Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parent 6ad7313b
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -76,17 +76,19 @@ static struct arm_pmu_platdata db8500_pmu_platdata = {
static const char *db8500_read_soc_id(void)
{
	void __iomem *uid;
	const char *retstr;

	uid = ioremap(U8500_BB_UID_BASE, 0x20);
	if (!uid)
		return NULL;
	/* Throw these device-specific numbers into the entropy pool */
	add_device_randomness(uid, 0x14);
	return kasprintf(GFP_KERNEL, "%08x%08x%08x%08x%08x",
	retstr = kasprintf(GFP_KERNEL, "%08x%08x%08x%08x%08x",
			 readl((u32 *)uid+0),
			 readl((u32 *)uid+1), readl((u32 *)uid+2),
			 readl((u32 *)uid+3), readl((u32 *)uid+4));
	iounmap(uid);
	return retstr;
}

static struct device * __init db8500_soc_device_init(void)