Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp4681174pxj; Tue, 22 Jun 2021 05:53:58 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxo2MgD1rzC7w3l+wmYBsGRDk8w4wtTmKgvmNbrtmsgtduo7mFNjpuHTh5XPm5oyO70Fib4 X-Received: by 2002:a17:906:3a0e:: with SMTP id z14mr3827975eje.289.1624366438629; Tue, 22 Jun 2021 05:53:58 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1624366438; cv=none; d=google.com; s=arc-20160816; b=AQBbHbV1YjpIgDmNXcBYvqKFBSSqWNZEXRRYC3CbaVUywtcADQ/Y4247NE0Goo7Dw2 qbNqTH9YB1970zZoCw5hX0NzZL0GSsIFod0NR68xZlz5+AyGIdon30QdWCeo1NmB91NH /QlddTHUuuz/deSuTsCNsKJpJVFe0pftZm2Noi3BmZSkqVRo1bd+TWY3AwNLlLU4Z8FX aVsGGlnuNb52nrqL/IGpeK8EgNVcf9CCZvYADFBvFwEpffYMzOru7SaMZmw9p8PEVlKz yvNydc8caVKSY/TfNTVWVCKEc3DQAu8+hL96JsjgAC1Pfl+avwVyZW89opJHj+Bt1EZO Dzkg== 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=5UxpMMVmpfPPa4oGGnC9tsUac3cxzYaSxqKUUzRBWuo=; b=iEoUzbd8hQXHNNngXB9ij8NFjRnizS5jO1+ZhNqi1C9JuXVeI0XbO8sOQZcIU7XFpm hErnyj87EJF6cbds3jEiz2324Ft5iX5cjYZ22RpaB+80CKwHvZKnMynfUs+gMROzwRvv qT/OvuCM4fVQ9KGZxAZ3cZmMCj39LWhUH2q1lIwAyhBkO3uEsvjZgiWVT4m7HtluEOrC BaiD+Fj/ZqbPwULmaJcJDuO+O+g1mQVWuW+VdYv8ec375Q3TbYYlb4vO+znwJpdAcpZT ChrI0YnQ4e2hySd0Jc6IvrwqWf9TzFJo7v3t7U0ytonoWppV3bj1iL05R19UaoXMfnvo iztQ== 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 j16si7366925edr.422.2021.06.22.05.53.35; Tue, 22 Jun 2021 05:53:58 -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 S231370AbhFVMym (ORCPT + 99 others); Tue, 22 Jun 2021 08:54:42 -0400 Received: from foss.arm.com ([217.140.110.172]:48762 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229675AbhFVMyl (ORCPT ); Tue, 22 Jun 2021 08:54:41 -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 ED46EED1; Tue, 22 Jun 2021 05:52:25 -0700 (PDT) Received: from localhost.localdomain (unknown [172.31.20.19]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id B086E3F694; Tue, 22 Jun 2021 05:52:24 -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] r8169: Avoid duplicate sysfs entry creation error Date: Tue, 22 Jun 2021 13:52:06 +0100 Message-Id: <20210622125206.1437-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] Signed-off-by: Andre Przywara --- 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..209dee295ce2 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", + pdev->bus->domain_nr, pci_dev_id(pdev)); new_bus->read = r8169_mdio_read_reg; new_bus->write = r8169_mdio_write_reg; -- 2.17.5