From patchwork Fri Mar 10 00:49:02 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Doug Berger X-Patchwork-Id: 737201 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 3vfTHf1pVhz9s7f for ; Fri, 10 Mar 2017 11:52:14 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="PGxPzikb"; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754733AbdCJAuX (ORCPT ); Thu, 9 Mar 2017 19:50:23 -0500 Received: from mail-wm0-f65.google.com ([74.125.82.65]:34941 "EHLO mail-wm0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754186AbdCJAuV (ORCPT ); Thu, 9 Mar 2017 19:50:21 -0500 Received: by mail-wm0-f65.google.com with SMTP id z63so3750wmg.2; Thu, 09 Mar 2017 16:50:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=7kHtv8oZcMdKySSRZNyBMZQTzW/oTCAz+QXkdFcaDx4=; b=PGxPzikb77Epe52Ng5eFBWAhrquF8Xk1lz9lThtHz5w0vtySa4OrRI7/6tJOv6lJTA FJ8nfMxjT6DEcINzWr9nGBaJKqVyVHkrfmwFlO8z1znufuZf+zaxnaTiMe4YfOJqVUAy HKWsrYjGmvcprECPo2mUhoska4gsjg4EnAZvaWjFUWGfo+caaPKWiummIoGY0H74q8k8 uWUmPTaK6Kq+v3jmMv8ISrSQSeHmKA6wbl0wYMffEqpAlLYj/7Ja7QCyFWCK3VvrXHUy bQW78YD+LcvD16j1k06DZ2/6SbpHuetvJx5UXR1wxuXIojPmpVkpayO+dkrUyU2g+i2Q WkjQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=7kHtv8oZcMdKySSRZNyBMZQTzW/oTCAz+QXkdFcaDx4=; b=SJMV/v5MG7zVKM1UCTJ/Fk9oBbV7O0HM3ZmjL9P9mR+lLFaS9Oeuob5qHsooB8RIwg eGLorMkzfVCIOihcwDwptFYGgbbtlNTAGohSO1CDDgmm09Ksy/JR331neuEB7KLqOqdZ OfmaATQunC6ZsHO9P1Hq2JVj2+dUEXaX5wiXyTfws96rOFQyoyaPwOJxsY07ACuXsuz3 YPDzO/1ruhaicanaR/mfVg61TFx0/PF1Vixx+HSzGoN4GUQy1PmghCUWjkZwQVp8QZ9Q gn/Ob1689Z2cT5OfnDDkz+jhpcEA0Ls0FBmgXUbxYS76WLpjOSkStDctlaf5SjHb1UZO j5Xg== X-Gm-Message-State: AMke39l6gJaYiLJixILP5heRbkgbk6rY8Yexg1Sdl0FxXiRyXx5s83c1n+bYP3Q1NUnnRw== X-Received: by 10.28.147.129 with SMTP id v123mr13051007wmd.51.1489107019295; Thu, 09 Mar 2017 16:50:19 -0800 (PST) Received: from stb-bld-02.irv.broadcom.com ([192.19.255.250]) by smtp.gmail.com with ESMTPSA id c35sm10374888wra.1.2017.03.09.16.50.17 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 09 Mar 2017 16:50:18 -0800 (PST) From: Doug Berger To: f.fainelli@gmail.com Cc: pgynther@google.com, jaedon.shin@gmail.com, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Doug Berger Subject: [PATCH net 4/8] net: bcmgenet: power down internal phy if open or resume fails Date: Thu, 9 Mar 2017 16:49:02 -0800 Message-Id: <20170310004906.10553-5-opendmb@gmail.com> X-Mailer: git-send-email 2.11.1 In-Reply-To: <20170310004906.10553-1-opendmb@gmail.com> References: <20170310004906.10553-1-opendmb@gmail.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Doug Berger Since the internal PHY is powered up during the open and resume functions it should be powered back down if the functions fail. refs #SWLINUX-4311 Fixes: 1c1008c793fa ("net: bcmgenet: add main driver file") Signed-off-by: Doug Berger --- drivers/net/ethernet/broadcom/genet/bcmgenet.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet.c b/drivers/net/ethernet/broadcom/genet/bcmgenet.c index 99f8d9024633..475dc14931af 100644 --- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c +++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c @@ -2850,6 +2850,8 @@ static int bcmgenet_open(struct net_device *dev) err_fini_dma: bcmgenet_fini_dma(priv); err_clk_disable: + if (priv->internal_phy) + bcmgenet_power_down(priv, GENET_POWER_PASSIVE); clk_disable_unprepare(priv->clk); return ret; } @@ -3551,6 +3553,8 @@ static int bcmgenet_resume(struct device *d) return 0; out_clk_disable: + if (priv->internal_phy) + bcmgenet_power_down(priv, GENET_POWER_PASSIVE); clk_disable_unprepare(priv->clk); return ret; }