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

Commit cbafe9d5 authored by Alexey Khoroshilov's avatar Alexey Khoroshilov Committed by Greg Kroah-Hartman
Browse files

drivers/serial: Do not leave sysfs group in case of error in aspeed_vuart_probe()



There are several error handling paths in aspeed_vuart_probe(),
where sysfs group is left unremoved. The patch fixes them.

Found by Linux Driver Verification project (linuxtesting.org).

Signed-off-by: default avatarAlexey Khoroshilov <khoroshilov@ispras.ru>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 43507825
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -223,12 +223,13 @@ static int aspeed_vuart_probe(struct platform_device *pdev)
		if (IS_ERR(vuart->clk)) {
			dev_warn(&pdev->dev,
				"clk or clock-frequency not defined\n");
			return PTR_ERR(vuart->clk);
			rc = PTR_ERR(vuart->clk);
			goto err_sysfs_remove;
		}

		rc = clk_prepare_enable(vuart->clk);
		if (rc < 0)
			return rc;
			goto err_sysfs_remove;

		clk = clk_get_rate(vuart->clk);
	}
@@ -286,6 +287,8 @@ static int aspeed_vuart_probe(struct platform_device *pdev)
err_clk_disable:
	clk_disable_unprepare(vuart->clk);
	irq_dispose_mapping(port.port.irq);
err_sysfs_remove:
	sysfs_remove_group(&vuart->dev->kobj, &aspeed_vuart_attr_group);
	return rc;
}