Received: by 2002:a05:6a10:f3d0:0:0:0:0 with SMTP id a16csp330674pxv; Thu, 24 Jun 2021 08:51:38 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw2dBuvgwZw/9df1DXAEp1PBhtXhFiPR1WJAmllMW6EElJiZzaYj+X5dZWVQE+52+O1xbG0 X-Received: by 2002:a05:6402:b9e:: with SMTP id cf30mr8042475edb.47.1624549898557; Thu, 24 Jun 2021 08:51:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1624549898; cv=none; d=google.com; s=arc-20160816; b=yRQUuIITXO5pj8sfkb696F1UM6gkijrq47juM8KUiZnBmB7W0/xmbOvhpGHYN3tBNF p4E950/6EZZRH7HOFAdnOXHgeB5yOCKosIil2FG6mx0zAylMQ18y+Li2Cv3DvRZA0wsH IfiJB7n+jbDM7l36DdwAuUCefyKS+2wN+IJwcPLU2qmUNYI7J3fbSItJvcFB+a8sJuty b+AeRwjGZdon0CL3IvT4O4J+IZy3T4tUm4ZvjEXHqCKiKjFabsv4qjR1VMIOwIieF4Nx ABPvmOllQQVX8KSJmzIYHmpJn6/x5kfbSK41zwtXYSGz05pEdxBh6Q1mZtXL1OfsDGSk xUgA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=0InYLG3xoLhIyTAKhJ0hsTPCijW1+mh7908iM3T4VdU=; b=fkJgNUZ/6d8ontp5doh/cypfnWFjTEvsJr+pjOuLR4vSHHMQoCo1H49Hw3gPLsIYQb a42szesXHDTTq8RyBT92YGreViSqq6v5GoErMmXXmOBJxEonWrD+X0AxEiZPjzQXEuOP cA85R6TprNq5eK/aFAq5vV38j21iZC82w8NDc07QH3ESjksN7S2Dd0UY6fCh5Vrsr1QG 7fVElvofxB862j+0O7zDY0m0TWtAa8ZIHzCIWfVe4NpaeSBn7DFcK5ZYdrwK9He66nRM qJ4McnsBB3AU46jki6o1AQB5f6RWn1weWM+71zhyCcHXe8k3DOlUBNrTMYj4EAq0S0WO sAtw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id yl16si2952878ejb.352.2021.06.24.08.51.13; Thu, 24 Jun 2021 08:51:38 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232399AbhFXPwj (ORCPT + 99 others); Thu, 24 Jun 2021 11:52:39 -0400 Received: from foss.arm.com ([217.140.110.172]:60944 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232053AbhFXPwi (ORCPT ); Thu, 24 Jun 2021 11:52:38 -0400 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 46B81ED1; Thu, 24 Jun 2021 08:50:19 -0700 (PDT) Received: from localhost.localdomain (unknown [172.31.20.19]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id EE2033F719; Thu, 24 Jun 2021 08:50:17 -0700 (PDT) From: Andre Przywara To: Heiner Kallweit , nic_swsd@realtek.com Cc: "David S . Miller" , Jakub Kicinski , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Sayanta Pattanayak Subject: [PATCH v2] r8169: Avoid duplicate sysfs entry creation error Date: Thu, 24 Jun 2021 16:49:45 +0100 Message-Id: <20210624154945.19177-1-andre.przywara@arm.com> X-Mailer: git-send-email 2.14.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Sayanta Pattanayak When registering the MDIO bus for a r8169 device, we use the PCI B/D/F specifier as a (seemingly) unique device identifier. However the very same BDF number can be used on another PCI segment, which makes the driver fail probing: [ 27.544136] r8169 0002:07:00.0: enabling device (0000 -> 0003) [ 27.559734] sysfs: cannot create duplicate filename '/class/mdio_bus/r8169-700' ....… [ 27.684858] libphy: mii_bus r8169-700 failed to register [ 27.695602] r8169: probe of 0002:07:00.0 failed with error -22 Add the segment number to the device name to make it more unique. This fixes operation on an ARM N1SDP board, where two boards might be connected together to form an SMP system, and all on-board devices show up twice, just on different PCI segments. Signed-off-by: Sayanta Pattanayak [Andre: expand commit message, use pci_domain_nr()] Signed-off-by: Andre Przywara --- Now compile-tested on ARM, arm64, ppc64, sparc64, mips64, hppa, x86-64, i386. Changes v1 ... v2: - use pci_domain_nr() wrapper to fix compilation on various arches drivers/net/ethernet/realtek/r8169_main.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/realtek/r8169_main.c b/drivers/net/ethernet/realtek/r8169_main.c index 2c89cde7da1e..5f7f0db7c502 100644 --- a/drivers/net/ethernet/realtek/r8169_main.c +++ b/drivers/net/ethernet/realtek/r8169_main.c @@ -5086,7 +5086,8 @@ static int r8169_mdio_register(struct rtl8169_private *tp) new_bus->priv = tp; new_bus->parent = &pdev->dev; new_bus->irq[0] = PHY_MAC_INTERRUPT; - snprintf(new_bus->id, MII_BUS_ID_SIZE, "r8169-%x", pci_dev_id(pdev)); + snprintf(new_bus->id, MII_BUS_ID_SIZE, "r8169-%x-%x", + pci_domain_nr(pdev->bus), pci_dev_id(pdev)); new_bus->read = r8169_mdio_read_reg; new_bus->write = r8169_mdio_write_reg; -- 2.17.5