From patchwork Mon Aug 29 12:37:14 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arnd Bergmann X-Patchwork-Id: 101908 Delivered-To: patch@linaro.org Received: by 10.140.29.52 with SMTP id a49csp1610645qga; Mon, 29 Aug 2016 05:37:58 -0700 (PDT) X-Received: by 10.67.1.35 with SMTP id bd3mr32274675pad.16.1472474278343; Mon, 29 Aug 2016 05:37:58 -0700 (PDT) Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id s126si39047928pfb.16.2016.08.29.05.37.57; Mon, 29 Aug 2016 05:37:58 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933205AbcH2Mhu (ORCPT + 27 others); Mon, 29 Aug 2016 08:37:50 -0400 Received: from mout.kundenserver.de ([212.227.126.134]:50083 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932742AbcH2Mhr (ORCPT ); Mon, 29 Aug 2016 08:37:47 -0400 Received: from wuerfel.lan. ([176.5.99.91]) by mrelayeu.kundenserver.de (mreue002) with ESMTPA (Nemesis) id 0MPuba-1bjJtW298E-0052Hf; Mon, 29 Aug 2016 14:37:40 +0200 From: Arnd Bergmann To: Iyappan Subramanian , Keyur Chudgar Cc: Arnd Bergmann , "David S. Miller" , netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH] net: xgene: fix backward compatibility fix Date: Mon, 29 Aug 2016 14:37:14 +0200 Message-Id: <20160829123740.3336010-1-arnd@arndb.de> X-Mailer: git-send-email 2.9.0 X-Provags-ID: V03:K0:ndNydrGoFTuJiLepoaRiIhFHmA3JYjUqyztjbhNh0GjIfIs5rQf UIIKF3fWKMtqjPPkltZZAsp9MpP83KAkTx2mjv9l8HEFKOoW/JafZFVntwB5JwF2KglP/yS +38TrQQEam5P9ExpCusUbPpZboVVmk7/CPIofCPh6F/QZjqqMriTB3ralNp50cJyWsTRvBN ZuHYm2fJo1UKWw5N/VOOA== X-UI-Out-Filterresults: notjunk:1; V01:K0:Mmnlz43uxys=:E07BLp8CBgPCGd85PMI7Iq e041CaF+DH8zn5yDB77pMDeKqpKywcLSSVviDu+2pKTkCTQMTG7aEJhhlBL1c330sY0Sj5Ke2 HeTIoecOARVdGlkGqJDxtnApJ3StB9kt2xycRwoVP0l/SWDj4pcZEeutxBKcCdiqDeNirGFEr 3l4Iy/l5sD5w3xa0u3b5FGxsjFOeJixlZrqzdsts44sUb+hYOUEj0RWXhksYZs6fvtPocqlgd bdymC1dDDGEFlM4mj4WMaRhnC2B25aI+J6KMonVtzH/nZWBZifUzUF6Ja2YFwSy7SSgEoBSGI rF2AaQIfTLjCrIMxhQPv1O8OPfbNxm94JGcJ9eLYC5uG8fNPtgV/D60dnUVowc4VCW8hf3prx zs/+budOrffeKyctuRADFOjqPTGuZ1Z8ypHlcIMBsOc+fNHjawFzFIXEbSx/wgubk6yzqTydb uruTVb/VcLGgzKBAfUWeFNg02CCiM8whR51Pa2xToml0HTMpXDfuYzDU9TrLvcmjizRTdRTFR qgS9V79J/KksdwF8ldi+VQL1dkIpKhB+mMXVBGkUadhf5nI6qmiTd45g3CW4+ZGljPjZ451w3 8lmxlgime0mgIX8CYnoKJWSfCQUE1KQplCxzy/OwOBiX6xXzZJnlNTUgbhKw62/46RBEJd9CT 2iYlGVvYuGiMQt9A68nfd2ZhsYVx1cb/4uvBtsWq1TI5R+2HAeonY2sRiLUMhlPfXr6M= Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org A bugfix for backward compatibility handling introduced undefined behavior for the case that of_parse_phandle() does not return a valid entry, as "gcc -Wmaybe-unused" reports: drivers/net/ethernet/apm/xgene/xgene_enet_hw.c: In function 'xgene_enet_phy_connect': drivers/net/ethernet/apm/xgene/xgene_enet_hw.c:776:6: error: 'phy_dev' may be used uninitialized in this function [-Werror=maybe-uninitialized] drivers/net/ethernet/apm/xgene/xgene_enet_hw.c: In function 'xgene_enet_mdio_config': drivers/net/ethernet/apm/xgene/xgene_enet_hw.c:776:6: error: 'phy_dev' may be used uninitialized in this function [-Werror=maybe-uninitialized] We can work around this by removing the check for zero "np", as of_phy_connect() will correctly handle a NULL argument so we fall back into the normal error handling case. Note that I had previously fixed another bug that resulted in the exact same warning, but this is a different problem that was introduced after my original fix. Signed-off-by: Arnd Bergmann Fixes: 03377e381bf4 ("drivers: net: xgene: Fix backward compatibility") --- drivers/net/ethernet/apm/xgene/xgene_enet_hw.c | 4 ---- 1 file changed, 4 deletions(-) -- 2.9.0 diff --git a/drivers/net/ethernet/apm/xgene/xgene_enet_hw.c b/drivers/net/ethernet/apm/xgene/xgene_enet_hw.c index 321fb197621e..da413c8d3e19 100644 --- a/drivers/net/ethernet/apm/xgene/xgene_enet_hw.c +++ b/drivers/net/ethernet/apm/xgene/xgene_enet_hw.c @@ -761,10 +761,6 @@ int xgene_enet_phy_connect(struct net_device *ndev) if (dev->of_node) { for (i = 0 ; i < 2; i++) { np = of_parse_phandle(dev->of_node, "phy-handle", i); - - if (!np) - continue; - phy_dev = of_phy_connect(ndev, np, &xgene_enet_adjust_link, 0, pdata->phy_mode);