• S
    r8169: Avoid duplicate sysfs entry creation error · e9a72f87
    Sayanta Pattanayak 提交于
    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: f1e911d5 ("r8169: add basic phylib support")
    Signed-off-by: NSayanta Pattanayak <sayanta.pattanayak@arm.com>
    [Andre: expand commit message, use pci_domain_nr()]
    Signed-off-by: NAndre Przywara <andre.przywara@arm.com>
    Acked-by: NHeiner Kallweit <hkallweit1@gmail.com>
    Signed-off-by: NDavid S. Miller <davem@davemloft.net>
    e9a72f87
r8169_main.c 141.3 KB