diff mbox series

net: mvmdio: disable/unprepare clocks in EPROBE_DEFER case

Message ID 20171206142323.6hbm54leg2maanbj@agrajag.zerfleddert.de
State Accepted, archived
Delegated to: David Miller
Headers show
Series net: mvmdio: disable/unprepare clocks in EPROBE_DEFER case | expand

Commit Message

Tobias Jordan Dec. 6, 2017, 2:23 p.m. UTC
add appropriate calls to clk_disable_unprepare() by jumping to out_mdio
in case orion_mdio_probe() returns -EPROBE_DEFER.

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

Fixes: 3d604da1e954 net: mvmdio: get and enable optional clock
Signed-off-by: Tobias Jordan <Tobias.Jordan@elektrobit.com>
---
 drivers/net/ethernet/marvell/mvmdio.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Andrew Lunn Dec. 6, 2017, 4:03 p.m. UTC | #1
On Wed, Dec 06, 2017 at 03:23:23PM +0100, Tobias Jordan wrote:
> add appropriate calls to clk_disable_unprepare() by jumping to out_mdio
> in case orion_mdio_probe() returns -EPROBE_DEFER.
> 
> Found by Linux Driver Verification project (linuxtesting.org).
> 
> Fixes: 3d604da1e954 net: mvmdio: get and enable optional clock
> Signed-off-by: Tobias Jordan <Tobias.Jordan@elektrobit.com>

Reviewed-by: Andrew Lunn <andrew@lunn.ch>

Thanks Tobais

    Andrew
David Miller Dec. 7, 2017, 6:41 p.m. UTC | #2
From: Tobias Jordan <Tobias.Jordan@elektrobit.com>
Date: Wed, 6 Dec 2017 15:23:23 +0100

> add appropriate calls to clk_disable_unprepare() by jumping to out_mdio
> in case orion_mdio_probe() returns -EPROBE_DEFER.
> 
> Found by Linux Driver Verification project (linuxtesting.org).
> 
> Fixes: 3d604da1e954 net: mvmdio: get and enable optional clock
> Signed-off-by: Tobias Jordan <Tobias.Jordan@elektrobit.com>

Applied, but please in the future format your Fixes: tag properly.

You need to put the commit message header line inside of parenthesis
and double quotes, like this:

Fixes: 3d604da1e954 ("net: mvmdio: get and enable optional clock")
diff mbox series

Patch

diff --git a/drivers/net/ethernet/marvell/mvmdio.c b/drivers/net/ethernet/marvell/mvmdio.c
index c9798210fa0f..0495487f7b42 100644
--- a/drivers/net/ethernet/marvell/mvmdio.c
+++ b/drivers/net/ethernet/marvell/mvmdio.c
@@ -344,7 +344,8 @@  static int orion_mdio_probe(struct platform_device *pdev)
 			dev->regs + MVMDIO_ERR_INT_MASK);
 
 	} else if (dev->err_interrupt == -EPROBE_DEFER) {
-		return -EPROBE_DEFER;
+		ret = -EPROBE_DEFER;
+		goto out_mdio;
 	}
 
 	if (pdev->dev.of_node)