Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752209AbdLFOX0 (ORCPT ); Wed, 6 Dec 2017 09:23:26 -0500 Received: from agrajag.zerfleddert.de ([88.198.237.222]:53314 "EHLO agrajag.zerfleddert.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751463AbdLFOXZ (ORCPT ); Wed, 6 Dec 2017 09:23:25 -0500 Date: Wed, 6 Dec 2017 15:23:23 +0100 From: Tobias Jordan To: netdev@vger.kernel.org, linux-kernel@vger.kernel.org Cc: ldv-project@linuxtesting.org Subject: [PATCH] net: mvmdio: disable/unprepare clocks in EPROBE_DEFER case Message-ID: <20171206142323.6hbm54leg2maanbj@agrajag.zerfleddert.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: NeoMutt/20170113 (1.7.2) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 908 Lines: 27 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 --- drivers/net/ethernet/marvell/mvmdio.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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) -- 2.11.0