Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp5479180imm; Tue, 19 Jun 2018 11:01:19 -0700 (PDT) X-Google-Smtp-Source: ADUXVKJmCWec/hLvOr7nS6nKkVGz+aQufV/JtSAvtBYX3kBSXFueRIIFMGc1T91mvwLiI4bs4P0u X-Received: by 2002:a63:5fcb:: with SMTP id t194-v6mr15340928pgb.176.1529431279383; Tue, 19 Jun 2018 11:01:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1529431279; cv=none; d=google.com; s=arc-20160816; b=YyfLn77glV839PAf8ibZk+ITMEDBlFn9pA+QD80QnYi4FcwSVBQLw8N0eOl9RmXGIq USXbaIac31PH8x/zlu1iMCKPtSLAVf8dDJvaGmas0YQVluGvz2cCvT1bnb7YEo1t0W+4 aPtzo5p5r0IvGdvYlhjdnLh6rKqmphQeOO3T1PyOxAYYdejzeACbeXWbShrnxC9Pad/k 3d9D7M7VatXxpDhxjvTPk10LGRpAdG+kfYyHkNTzgVe20fckmK4NRKhKE+0CrJf0bkbw QVOE8xsyW5fpCA/mMnQGCPyiGgmcDNEpNUWzo9Gh9hCI/BOPj6Y688/PAbs51+SSXNB6 9a7Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:arc-authentication-results; bh=IyJZsDVJph52gLVIIhf5wHE/pRgM2uR7UEycNOrd7aU=; b=mYhc1UKji+aHpuXWqtDzYH1ox0JmYHIha8bxcSTTqOuDKpzGoCYk87FpHPDf/BaMwB 2hexjeSPecJIgSxg9eFfu6jbD5DjhqnG2WQ28xJkGST7+KMrppfIvErK/LcWERzqAqIe M5RpzjrBjOLk24avygn1BS0D62m/SY/jJnvNIrAVPkmZDIc83UA/e6dIQbPH5TnsUHWX Vpq5E3s3u47iNpeGzkdaynlLAftWzeQCqEN1f+1cDSZhvootBt4VzXg0Y/56YIt/dCSb p5G4eNRU40wcGjgfVrS/5Yv953GKYaFn/tojRCcO0f5Edp/0T2Tj2MfwMujWoEwDn0TI JEag== ARC-Authentication-Results: i=1; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id r7-v6si114658pgq.675.2018.06.19.11.01.05; Tue, 19 Jun 2018 11:01:19 -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 S1030373AbeFSSAX (ORCPT + 99 others); Tue, 19 Jun 2018 14:00:23 -0400 Received: from bmailout1.hostsharing.net ([83.223.95.100]:46841 "EHLO bmailout1.hostsharing.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S966706AbeFSSAW (ORCPT ); Tue, 19 Jun 2018 14:00:22 -0400 Received: from h08.hostsharing.net (h08.hostsharing.net [83.223.95.28]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "*.hostsharing.net", Issuer "COMODO RSA Domain Validation Secure Server CA" (not verified)) by bmailout1.hostsharing.net (Postfix) with ESMTPS id 143BE300002A0; Tue, 19 Jun 2018 20:00:20 +0200 (CEST) Received: by h08.hostsharing.net (Postfix, from userid 100393) id C8E4571D0E; Tue, 19 Jun 2018 20:00:19 +0200 (CEST) Date: Tue, 19 Jun 2018 20:00:19 +0200 From: Lukas Wunner To: Bartosz Golaszewski Cc: Grygorii Strashko , "David S . Miller" , Florian Fainelli , Dan Carpenter , Ivan Khoronzhuk , Rob Herring , Kevin Hilman , David Lechner , Sekhar Nori , Andrew Lunn , linux-omap@vger.kernel.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Bartosz Golaszewski , stable@vger.kernel.org Subject: Re: [PATCH 1/3] net: ethernet: fix suspend/resume in davinci_emac Message-ID: <20180619180019.GA25396@wunner.de> References: <20180619160950.6283-1-brgl@bgdev.pl> <20180619160950.6283-2-brgl@bgdev.pl> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20180619160950.6283-2-brgl@bgdev.pl> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Jun 19, 2018 at 06:09:48PM +0200, Bartosz Golaszewski wrote: > From: Bartosz Golaszewski > > This patch reverts commit 3243ff2a05ec ("net: ethernet: davinci_emac: > Deduplicate bus_find_device() by name matching") and adds a comment > which should stop anyone from reintroducing the same "fix" in the future. > > We can't use bus_find_device_by_name() here because the device name is > not guaranteed to be 'davinci_mdio'. On some systems it can be > 'davinci_mdio.0' so we need to use strncmp() against the first part of > the string to correctly match it. > > Fixes: 3243ff2a05ec ("net: ethernet: davinci_emac: Deduplicate bus_find_device() by name matching") > Cc: stable@vger.kernel.org > Signed-off-by: Bartosz Golaszewski This is still Acked-by: Lukas Wunner given that my patch which is reverted here seems to have been incorrect. Feel free to keep the ack if you respin in response to Florian Fainelli's comments. Thanks, Lukas > --- > drivers/net/ethernet/ti/davinci_emac.c | 15 +++++++++++++-- > 1 file changed, 13 insertions(+), 2 deletions(-) > > diff --git a/drivers/net/ethernet/ti/davinci_emac.c b/drivers/net/ethernet/ti/davinci_emac.c > index 06d7c9e4dcda..a1a6445b5a7e 100644 > --- a/drivers/net/ethernet/ti/davinci_emac.c > +++ b/drivers/net/ethernet/ti/davinci_emac.c > @@ -1385,6 +1385,11 @@ static int emac_devioctl(struct net_device *ndev, struct ifreq *ifrq, int cmd) > return -EOPNOTSUPP; > } > > +static int match_first_device(struct device *dev, void *data) > +{ > + return !strncmp(dev_name(dev), "davinci_mdio", 12); > +} > + > /** > * emac_dev_open - EMAC device open > * @ndev: The DaVinci EMAC network adapter > @@ -1484,8 +1489,14 @@ static int emac_dev_open(struct net_device *ndev) > > /* use the first phy on the bus if pdata did not give us a phy id */ > if (!phydev && !priv->phy_id) { > - phy = bus_find_device_by_name(&mdio_bus_type, NULL, > - "davinci_mdio"); > + /* NOTE: we can't use bus_find_device_by_name() here because > + * the device name is not guaranteed to be 'davinci_mdio'. On > + * some systems it can be 'davinci_mdio.0' so we need to use > + * strncmp() against the first part of the string to correctly > + * match it. > + */ > + phy = bus_find_device(&mdio_bus_type, NULL, NULL, > + match_first_device); > if (phy) { > priv->phy_id = dev_name(phy); > if (!priv->phy_id || !*priv->phy_id) > -- > 2.17.1 >