On Thu, Apr 13, 2023 at 07:12:29PM +0200, Andrew Lunn wrote: > > > > However testing revealed some glitches: > > > > 1. driver previously returned -EPROBE_DEFER when no phy was attached. > > > > Phylink stack does not seem to do so, which end up with: > > > > > > > > Marvell PHY driver as a module: > > > > octeon_ethernet 11800a0000000.pip eth0: configuring for inband/1000base-x link mode > > > > octeon_ethernet 11800a0000000.pip eth1: PHY [8001180000001800:00] driver [Generic PHY] (irq=POLL) > > > > octeon_ethernet 11800a0000000.pip eth1: configuring for phy/sgmii link mode > > > > octeon_ethernet 11800a0000000.pip eth2: PHY [8001180000001800:01] driver [Generic PHY] (irq=POLL) > > > > octeon_ethernet 11800a0000000.pip eth2: configuring for phy/sgmii link mode > > > > octeon_ethernet 11800a0000000.pip eth0: switched to inband/sgmii link mode > > > > octeon_ethernet 11800a0000000.pip eth0: PHY [i2c:sfp:16] driver [Marvell 88E1111] (irq=POLL) > > > > octeon_ethernet 11800a0000000.pip eth3: PHY [8001180000001800:02] driver [Marvell 88E1340S] (irq=25) > > > > octeon_ethernet 11800a0000000.pip eth3: configuring for phy/sgmii link mode > > > > octeon_ethernet 11800a0000000.pip eth4: PHY [8001180000001800:03] driver [Marvell 88E1340S] (irq=25) > > > > octeon_ethernet 11800a0000000.pip eth4: configuring for phy/sgmii link mode > > > > octeon_ethernet 11800a0000000.pip eth1: Link is Up - 100Mbps/Full - flow control off > > > > > > > > Marvell PHY driver built-in: > > > > octeon_ethernet 11800a0000000.pip eth0: configuring for inband/1000base-x link mode > > > > octeon_ethernet 11800a0000000.pip eth1: PHY [8001180000001800:00] driver [Marvell 88E1340S] (irq=25) > > > > octeon_ethernet 11800a0000000.pip eth1: configuring for phy/sgmii link mode > > > > Error: Driver 'Marvell 88E1101' is already registered, aborting... > > > > libphy: Marvell 88E1101: Error -16 in registering driver > > > > Error: Driver 'Marvell 88E1101' is already registered, aborting... > > > > libphy: Marvell 88E1101: Error -16 in registering driver > > > > > > This is very odd. But it could be a side effect of the > > > compatible. Please try with it removed. > > > > That does not make any difference. > > Then i have no idea. I would suggest you add a WARN_ON() in > phy_driver_register() so we get a backtrace. That might give a clue > why it is getting registered multiple times. And it indeed did. There was kernel/drivers/net/phy/marvell.ko left in /lib/modules. Clearly my mistake, sorry for the noise and thank you for help. So now only that -EPROBE_DEFER handling in module case is waiting for debugging. ladis