mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-19 02:04:19 +08:00
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: Alexey Khoroshilov <khoroshilov@ispras.ru> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
4350782570
commit
cbafe9d5c3
@ -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;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user