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

Commit 801421eb authored by Julia Lawall's avatar Julia Lawall Committed by Dominik Brodowski
Browse files

drivers/pcmcia/electra_cf.c: add missing iounmap and kfree



cf and cf->mem_base have been allocated at the point of this failure, so
they should be freed before leaving the function.

[linux@dominikbrodowski.net: limit call to device_init_wakeup() to the
same error paths as before]
Signed-off-by: default avatarJulia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: default avatarDominik Brodowski <linux@dominikbrodowski.net>
parent e632cd94
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -216,8 +216,10 @@ static int electra_cf_probe(struct platform_device *ofdev)
	cf->io_size = PAGE_ALIGN(resource_size(&io));

	area = __get_vm_area(cf->io_size, 0, PHB_IO_BASE, PHB_IO_END);
	if (area == NULL)
		return -ENOMEM;
	if (area == NULL) {
		status = -ENOMEM;
		goto fail1;
	}

	cf->io_virt = (void __iomem *)(area->addr);

@@ -320,6 +322,7 @@ static int electra_cf_probe(struct platform_device *ofdev)
		iounmap(cf->mem_base);
	if (cf->gpio_base)
		iounmap(cf->gpio_base);
	if (area)
		device_init_wakeup(&ofdev->dev, 0);
	kfree(cf);
	return status;