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

Commit 40530365 authored by Tony Prisk's avatar Tony Prisk Committed by Greg Kroah-Hartman
Browse files

serial: vt8500: ioremap'd resource is never freed



Memory mapped via ioremap call is never released. Rather than add an
iounmap call, change allocation function to devm_request_and_ioremap.

Also, change the error on failure for this call to -EADDRNOTAVAIL rather than
-ENOMEM.

Signed-off-by: default avatarTony Prisk <linux@prisktech.co.nz>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 27dd2e04
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -606,9 +606,9 @@ static int vt8500_serial_probe(struct platform_device *pdev)
	snprintf(vt8500_port->name, sizeof(vt8500_port->name),
		 "VT8500 UART%d", pdev->id);

	vt8500_port->uart.membase = ioremap(mmres->start, resource_size(mmres));
	vt8500_port->uart.membase = devm_request_and_ioremap(&pdev->dev, mmres);
	if (!vt8500_port->uart.membase) {
		ret = -ENOMEM;
		ret = -EADDRNOTAVAIL;
		goto err;
	}