From patchwork Wed Nov 30 14:29:51 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Johan Hovold X-Patchwork-Id: 701038 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3tTNGb3K0cz9tB1 for ; Thu, 1 Dec 2016 01:34:31 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="rDkfiE+c"; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933040AbcK3OeT (ORCPT ); Wed, 30 Nov 2016 09:34:19 -0500 Received: from mail-lf0-f67.google.com ([209.85.215.67]:33955 "EHLO mail-lf0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757605AbcK3Ocf (ORCPT ); Wed, 30 Nov 2016 09:32:35 -0500 Received: by mail-lf0-f67.google.com with SMTP id o141so16056043lff.1; Wed, 30 Nov 2016 06:32:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=pzyaErCizuRnVGOhPYrsCFsL9ygR0ztC5YnB94kCags=; b=rDkfiE+c8+5+Z66dmgmtZd954dbPm5WVCo669s1sBrFUSra7hTkeLB3X14qyJ4ycwM pTkeAOM9tCRpfdoayPHm9DgN13ZkH7N+vzYrQ5drq2grPwcToRaGwOzIb4UFL02tjgqg auy1dUj0GutEIXPHzJ11Y7AkWyqiOuBNbx/rn4zqGmGvq4sZ2ftmiNMSv/8SVouzdNVN dLzh3vjfR0H+3YuTKojDyWBrBaRrQv7ShCDXpNnKm9LXxcRIMMrFolyWPxblVQCigeuI HgtvtCVHguTcAQQ1LuyFxNUxqTH4IbcMHqKQX65u7dIAwRk9na3JRJwvWzeln9fVjNMP MPSA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=pzyaErCizuRnVGOhPYrsCFsL9ygR0ztC5YnB94kCags=; b=mrNoVIjCpJvpzBkUf6YgVQgDSL7kUkf1bcekwjg1SyYkXFbHbPNmkYRmoOaUKW+Ub9 vFfESHnfV6uuQgxkFeagTIB4UmGRdFcGmA94nLOyBaHNZ/rF2tr56WFDpgY5THzNYSi0 vbb0W43KgCdisO2LXuMof5dZYoHq1mEXiuYI9PqurxQWpqNueuX4TNuGa9jOst7x7SuD BWCovSdRh1S/kAQrvuJx7DJVBD92FYVqNGjJ8iryAjJd4sGBKYB7p5Gnd1R+GTy79xYQ FUiUT0qUomdQBmJmrK99KZUMt5wcrq+yHv9TDHjiNDux9X2ABWG9uoCmmM9EQJTtwXQA p2Ew== X-Gm-Message-State: AKaTC00FXBlgtgw1S/fXTsGhOrun56n/FW2bIX/ASI2xoEpeV8Hh54qv8tZ2YkHnpZGvLg== X-Received: by 10.25.17.207 with SMTP id 76mr12256597lfr.93.1480516353468; Wed, 30 Nov 2016 06:32:33 -0800 (PST) Received: from xi.terra (c-04aadb54.07-184-6d6c6d4.cust.bredbandsbolaget.se. [84.219.170.4]) by smtp.gmail.com with ESMTPSA id m129sm14482774lfe.6.2016.11.30.06.32.30 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 30 Nov 2016 06:32:31 -0800 (PST) Received: from johan by xi.terra with local (Exim 4.87) (envelope-from ) id 1cC5vw-0007EF-Hg; Wed, 30 Nov 2016 15:32:28 +0100 From: Johan Hovold To: "David S. Miller" Cc: Giuseppe Cavallaro , Alexandre Torgue , Joachim Eastwood , Carlo Caione , Kevin Hilman , Maxime Coquelin , Maxime Ripard , Chen-Yu Tsai , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Johan Hovold Subject: [PATCH net 3/7] net: ethernet: stmmac: dwmac-rk: fix probe error path Date: Wed, 30 Nov 2016 15:29:51 +0100 Message-Id: <1480516195-27696-4-git-send-email-johan@kernel.org> X-Mailer: git-send-email 2.7.3 In-Reply-To: <1480516195-27696-1-git-send-email-johan@kernel.org> References: <1480516195-27696-1-git-send-email-johan@kernel.org> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Make sure to disable runtime PM, power down the PHY, and disable clocks before returning on late probe errors. Fixes: 27ffefd2d109 ("stmmac: dwmac-rk: create a new probe function") Signed-off-by: Johan Hovold --- drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c index 3740a4417fa0..e7aabe56c15a 100644 --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c @@ -988,7 +988,16 @@ static int rk_gmac_probe(struct platform_device *pdev) if (ret) return ret; - return stmmac_dvr_probe(&pdev->dev, plat_dat, &stmmac_res); + ret = stmmac_dvr_probe(&pdev->dev, plat_dat, &stmmac_res); + if (ret) + goto err_gmac_exit; + + return 0; + +err_gmac_exit: + rk_gmac_exit(pdev, plat_dat->bsp_priv); + + return ret; } static const struct of_device_id rk_gmac_dwmac_match[] = {