Skip to content

Commit 85496a2

Browse files
Wang Haidavem330
authored andcommitted
net: gemini: Fix missing clk_disable_unprepare() in error path of gemini_ethernet_port_probe()
Fix the missing clk_disable_unprepare() before return from gemini_ethernet_port_probe() in the error handling case. Fixes: 4d5ae32 ("net: ethernet: Add a driver for Gemini gigabit ethernet") Reported-by: Hulk Robot <[email protected]> Signed-off-by: Wang Hai <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent 59929fb commit 85496a2

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

drivers/net/ethernet/cortina/gemini.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2446,6 +2446,7 @@ static int gemini_ethernet_port_probe(struct platform_device *pdev)
24462446
port->reset = devm_reset_control_get_exclusive(dev, NULL);
24472447
if (IS_ERR(port->reset)) {
24482448
dev_err(dev, "no reset\n");
2449+
clk_disable_unprepare(port->pclk);
24492450
return PTR_ERR(port->reset);
24502451
}
24512452
reset_control_reset(port->reset);
@@ -2501,8 +2502,10 @@ static int gemini_ethernet_port_probe(struct platform_device *pdev)
25012502
IRQF_SHARED,
25022503
port_names[port->id],
25032504
port);
2504-
if (ret)
2505+
if (ret) {
2506+
clk_disable_unprepare(port->pclk);
25052507
return ret;
2508+
}
25062509

25072510
ret = register_netdev(netdev);
25082511
if (!ret) {

0 commit comments

Comments
 (0)