Skip to content

Commit e9a72f8

Browse files
SayantaP-armdavem330
authored andcommitted
r8169: Avoid duplicate sysfs entry creation error
When registering the MDIO bus for a r8169 device, we use the PCI bus/device 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 ARM N1SDP boards, with two boards connected together to form an SMP system, and all on-board devices showing up twice, just on different PCI segments. A similar issue would occur on large systems with many PCI slots and multiple RTL8169 NICs. Fixes: f1e911d ("r8169: add basic phylib support") Signed-off-by: Sayanta Pattanayak <[email protected]> [Andre: expand commit message, use pci_domain_nr()] Signed-off-by: Andre Przywara <[email protected]> Acked-by: Heiner Kallweit <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent 09cfae9 commit e9a72f8

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

drivers/net/ethernet/realtek/r8169_main.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5084,7 +5084,8 @@ static int r8169_mdio_register(struct rtl8169_private *tp)
50845084
new_bus->priv = tp;
50855085
new_bus->parent = &pdev->dev;
50865086
new_bus->irq[0] = PHY_MAC_INTERRUPT;
5087-
snprintf(new_bus->id, MII_BUS_ID_SIZE, "r8169-%x", pci_dev_id(pdev));
5087+
snprintf(new_bus->id, MII_BUS_ID_SIZE, "r8169-%x-%x",
5088+
pci_domain_nr(pdev->bus), pci_dev_id(pdev));
50885089

50895090
new_bus->read = r8169_mdio_read_reg;
50905091
new_bus->write = r8169_mdio_write_reg;

0 commit comments

Comments
 (0)